Можно ли написать загрузчик drag&drop, но без AJAX?

В интернете есть куча примеров, в котороых показывается, как работает Drag&Drop с inputом. Но все они грузят файлы сразу на сервер и тд. Мне нужно, чтобы файлы, которые пользователь перетаскивает в dropzone, "вписывались" в input. Чтобы потом можно было их отправить по нажатию на Submit. Говорят, что задавать инпуту value запрещено безопастностью браузеров. Если это все-таки возможно - напишите как.

Заранее спасибо за ответ.
  • Вопрос задан
  • 169 просмотров
Пригласить эксперта
Ответы на вопрос 1
dasha_programmist
@dasha_programmist
ex Software Engineer at Reddit TS/React/GraphQL/Go
// на событие change у inputa, через который загружается файл вешаем метод that.upload
var that = this;
that.attachments = [];
that.upload = function (data, ev) {
   var file = ev.target.files[0];
   if (file) that.attachments.push(attachment);
};

// на сервер по мере надобности отправлять примерно так (тут переменная file это элемент массива that.attachments):
var fd = new FormData();
fd.append('file', file);
$.ajax({
   url: 'api/upload',
   type: 'post',
   data: fd
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы