Как создать почтовый запрос multipart / form-data со встроенным файлом? - PullRequest
0 голосов
/ 24 января 2019

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

Я могу "встраивать" текстовые файлы без разрывов строк (CRLF), но не могу встраивать двоичные файлы, поскольку они содержат CRLF.

Способы встраивания однострочных текстовых файлов

  • Вставить однострочные текстовые файлы
    • Этого можно добиться, установив пользовательский заголовок и тело

Заголовок

content-type: multipart/form-data; boundary=--------------------------separator

Body (необработанный тип)

----------------------------separator
Content-Disposition: form-data; name="file"; filename="file.json"
Content-Type: application/json

{ "id": "ecee0102-51c9-4a86-b5e7-0378f117f991" }
----------------------------separator--
  • «Встраивание» больших однострочных файлов с использованием сценария предварительного запроса

Заголовок

content-type: multipart/form-data; boundary=--------------------------separator

Тело (необработанный тип)

----------------------------separator
Content-Disposition: form-data; name="file"; filename="file.json"
Content-Type: application/json

{{tooBigFileContent}}
----------------------------separator--

Сценарий предварительного запроса

pm.globals.set("tooBigFileContent", "9".repeat((10*1024*1024)+1));

Вещи, которые я пытался, но не работал

  • Попробуйте ввести файлсодержимое в тело, декодируя base64 в «двоичный», используя сценарий предварительного запроса
  • Попробуйте использовать Content-Transfer-Encoding с base64 (конечная точка не поддерживает кодировку

Идеи о том, как этого добиться?

...