Все сервисы Хабра
Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Закрыть
Задать вопрос
Devgru
@Devgru
JavaScript
ВКонтакте
Имитировать аплоад файла на сервер из JS?
Здравствуйте!
Моя цель — составить в JS и отправить POST-запрос к серверу, зааплоадив файл, содержимое которого будет взять не с диска юзера, а сгенерировано в JS.
Не совсем понимаю, что для этого стоит использовать — xmlhttprequest или есть что-то более высокоуровневое?
P.S. Конкретная цель — зааплодить через API ВКонтакта изображение, созданное на canvas.
Вопрос задан
более трёх лет назад
2759 просмотров
Комментировать
Подписаться
3
Оценить
Комментировать
Facebook
Вконтакте
Twitter
Помогут разобраться в теме
Все курсы
Яндекс Практикум
Фронтенд-разработчик
10 месяцев
Далее
Skillfactory
Профессия Веб-разработчик
12 месяцев
Далее
Яндекс Практикум
Мидл фронтенд-разработчик
5 месяцев
Далее
Решения вопроса
1
B@rmaley.e><e
@barmaley_exe
Да, XHR. Формируйте multipart запрос.
Только Вас ожидает подводный булыжник: отправлять Вам придется бинарные данные, а не все браузеры умеют отсылать их XHR'ом.
Ответ написан
более трёх лет назад
6
комментариев
Нравится
1
6
комментариев
Facebook
Вконтакте
Twitter
Devgru
@Devgru
Автор вопроса
«Не все» — это какие именно? IE меня в любом случае не интересует т.к. канвы там нет.
Написано
более трёх лет назад
B@rmaley.e><e
@barmaley_exe
Chrome 6+, Firefox 3.6+. И все.
Написано
более трёх лет назад
Serator
@Serator
developer.mozilla.org/en/xmlhttprequest
— sendAsBinary() — Requires Gecko 1.9 (Firefox 3)
Ну и base64 еще есть, если можно как строку отправить.
Написано
более трёх лет назад
B@rmaley.e><e
@barmaley_exe
Значит этот метод чуть старше, чем я думал.
Если отправлять base64, то нужно еще на сервере преобразовывать обратно.
Написано
более трёх лет назад
OlegTar
@OlegTar
Если указать хэдер «Content-Transfer-Encoding: base64», то не надо на сервере декодировать обратно.
Написано
более трёх лет назад
B@rmaley.e><e
@barmaley_exe
Где не надо? Мне уже
обещали
как-то раз, что такое сработает, но ничего не вышло.
Написано
более трёх лет назад
Пригласить эксперта
Ответы на вопрос
0
Ваш ответ на вопрос
Войдите, чтобы написать ответ
Войти через центр авторизации
Похожие вопросы
JavaScript
Простой
Как работать с разрозненными данными?
1 подписчик
12 часов назад
102 просмотра
2
ответа
Telegram
+2 ещё
Простой
Как настроить репост из телеграм канала в вк группу?
1 подписчик
20 часов назад
68 просмотров
1
ответ
JavaScript
+1 ещё
Простой
Неправильно работает crypto.subtle.deriveKey в Firefox, баг или мой косяк?
2 подписчика
16 окт.
103 просмотра
0
ответов
PHP
+2 ещё
Простой
Как проще отправить изображение на стену канала?
1 подписчик
15 окт.
145 просмотров
1
ответ
JavaScript
Простой
Как подгружать xml с перерисовкой таблицы?
3 подписчика
14 окт.
149 просмотров
0
ответов
JavaScript
+2 ещё
Простой
Как решить задачку из контеста?
1 подписчик
13 окт.
233 просмотра
1
ответ
JavaScript
+1 ещё
Простой
Есть ли js-библиотека для офлайн-распознавания русской речи?
1 подписчик
12 окт.
162 просмотра
2
ответа
JavaScript
Простой
Почему не работает в консоли setTimeout?
1 подписчик
11 окт.
328 просмотров
1
ответ
JavaScript
Простой
Как прочитать ответ сервера после отправки формы?
2 подписчика
27 сент.
288 просмотров
1
ответ
JavaScript
+2 ещё
Простой
Как менять картинки у карточки в списке товаров?
4 подписчика
22 сент.
342 просмотра
1
ответ
Показать ещё
Загружается…
Вакансии с Хабр Карьеры
Web-разработчик/WordPress программист (Full-stack). В офисе ст. м Ладожская
JustBusiness
•
Санкт-Петербург
от 130 000 до 150 000 ₽
Верстальщик / фронтендер для браузерного расширения
DevTeam.Space
от 1 000 до 2 000 $
React разработчик
ITK academy
•
Нижний Новгород
от 80 000 до 120 000 ₽
Минуточку внимания
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации
Закрыть
Реклама