2013-10-04 7 views
42

я борюсь с созданием POST многослойную/смешанный запрос с расширением Почтальон ChromeОтправка многослойную/смешанный контент с расширением Почтальон Chrome

Вот мой локон запрос, что работает хороший

curl -H "Content-Type: multipart/mixed" 
-F "[email protected]_json.json; type=application/json " 
-F "[email protected]; type=image/jpg" -X POST http://my/api/item -i -v 

интересную часть ответа

Content-Length: 41557

Ожидать: 100 продолжают

Content-Type: multipart/mixed; border = ---------------------------- 8aaca457e117

  • дополнительный материал не тонкий transfer.c: 1037: 0 0
  • HTTP 1.1 или более поздней версии со стойкой связи, конвейерная поддерживаются

И когда я использую Постман enter image description here

я получаю такой ответ

{"message":"Could not parse multipart servlet request; 
nested exception is org.apache.commons.fileupload.FileUploadException: 
the request was rejected because no multipart boundary was  
found","type":"error","status":500,"requestId":"1861eloo6fpio"} 

Вот и все - я хочу избавиться от этой ошибки. Если вам нужна дополнительная информация, пожалуйста, спросите:

ответ

82

У меня тоже была эта проблема. Краткий ответ: удалите заголовок Content-Type с вашего запроса Postman.

Длинная история о том, что Content-Type для многочастного запрос должен быть весьма особенным - он должен выглядеть вроде этого:

multipart/form-data; boundary=----WebKitFormBoundaryzeZR8KqAYJyI2jPL 

Проблема заключается в том, что граница важна, и она должна точно соответствуют границе, используемой для разделения загружаемых файлов. Решение прост: не указывайте Content-Type! Когда вы загружаете файлы, Postman автоматически добавит указанный выше тип содержимого, за исключением того, что граница будет заполнена любым почтовым устройством или Chrome, использующим для разделения многостраничного контента.

Вы можете проверить это поведение с помощью инструментов разработчика Chrome (в Postman), чтобы исследовать заголовок Content-Type добавляется, в дополнение к Content-Disposition заголовков многотомных данных, которые также боль, чтобы построить вручную (и невозможно в Почтальон).

Примечание: Мой ответ является решением для тех, кому нужен ответ multipart/form-data. ОП искал решение multipart/mixed. В этом случае моего ответа не хватит. При этом кажется, что многие люди просто хотят решения multipart/form-data, поэтому я оставлю свой ответ здесь.

+3

Пробовал удалить тип контента, но не работает. Запрос на завивание работает, но при попытке от POSTMAN – Aditya

+0

@Aditya работает не менее 33 человек. :) Может быть, вам лучше задать новый вопрос, чтобы вы могли публиковать свои заголовки, отвечать и т. Д. (Не стесняйтесь также ссылаться на этот вопрос). Или вы можете нажать на меня в Twitter (см. Мой профиль). –

+0

Добавлен новый вопрос: http://stackoverflow.com/questions/36540719/sending-multipart-form-data-content-with-postman-chrome-extension – Aditya