Можно ли отправить Http post запрос с типом контента multipart / form-data (files) и объектом json с параметрами данных вместе? - PullRequest
0 голосов
/ 17 января 2019

Я хочу разрешить пользователям загружать документы.Они могут установить заголовок, дату истечения срока действия и выбрать количество файлов в конце, щелкнуть кнопку загрузки и отправить все это на сервер.

Затем я вставляю новый документ с отправляемой информацией и обработкойсохранение файлов, к которым они были прикреплены.

Вот пример вставленного документа:

// documents collections: 
{
  title: "Some contract",
  expiration_date: DATE,
  files: [
    "uploads/1.jpg",
    "uploads/1.docx",
    "uploads/1.pdf"
  ]
}

Я могу разрешить пользователю успешно отправлять и выгружать эти файлы, используя грозный узел.Модуль js.

Я могу разрешить пользователю отправлять параметры данных с помощью анализатора тела, а затем иметь доступ к ним в объекте req.body.

Однако я не могу включить их обатот же запрос.

Что заставляет меня думать, что мне нужно разрешить загрузку в отдельном запросе, а затем вернуть его файлы (пути) обратно клиенту и затем отправить еще один HTTP-запрос с параметрами объекта json.

Но это кажется слишком сложным.Но также может быть полезно позволить пользователю сначала загрузить файл, и в то время как файлы загружаются, он может продолжать заполнять форму.

1 Ответ

0 голосов
/ 17 января 2019

Нельзя отправлять оба типа в одном запросе, поскольку один из них имеет заголовок Content-Type: multipart/form-data, а запросы json имеют заголовок Content-Type: application/json. Вы можете обойти это, используя данные из нескольких частей формы, приведя в порядок свой json и добавив его в виде текстового поля, но я настоятельно рекомендую не делать этого.
Данные из нескольких частей поддерживают добавление нескольких файлов к одному ключу в форме запроса

...