У меня есть интересная проблема, которую я пытаюсь решить, и мне было интересно, кто-нибудь из вас может мне помочь.
Я создаю небольшой инструмент, который позволяет пользователям перетаскивать файлы в нашу CMS. Хотя у меня есть часть Drag and Drop, которая работает нормально (используя новые HTML5 API), я застрял с точки зрения того, как должна происходить загрузка файла, тем более что мое ограничение заключается в том, что я не могу изменять какие-либо функции сервера. Я посмотрел на все другие примеры, и все они имеют относительно простые случаи использования, когда они просто отправляют данные файла без необходимости конвертировать все в multipart / form-data и т. Д.
На данный момент сервер имеет простую форму, которая выглядит примерно так:
Name: [ input=text ]
File: [ input=file ]
Caption: [ textarea ]
Когда пользователь нажимает кнопку «Сохранить», выдается POST-вызов типа контента multipart / form-data.
Первоначально я думал, что я мог бы просто заменить текущий элемент управления вводом своим собственным скрытым (используя тот же атрибут «name») и просто иметь закодированные в base64 данные в качестве «значения», однако CMS ожидает «имя файла» чтобы быть переданным через, который обычно заботится входным файлом =. Так, например, последний пост выглядит примерно так:
Content-Disposition: form-data; name="image_0"; filename="assets.jpg"
Content-Type: image/jpeg
<Some binary image data here>
Я поступаю по этому поводу совершенно неправильно? Должен ли я просто использовать объект XHR вместо этого?
Приветствия