Envoi de contenu multipartie / mixte avec extension Postman Chrome

j'ai du mal à créer une requête POST multipart/mixed avec Postman Chrome extension

voici ma requête curl ce qui fonctionne bien

curl -H "Content-Type: multipart/mixed" 
-F "metadata=@simple_json.json; type=application/json "
-F "content=@1.jpg; type=image/jpg" -X POST http://my/api/item -i -v

partie intéressante de réponse

Content-Length: 41557

Attendre: 100-continue

<!-Type de contenu: multipart / mixed; boundary=----------------------------8aaca457e117

  • autres choses pas Transfert amende.c: 1037: 0 0
  • HTTP 1.1 ou plus récent avec connexion persistante, prise en charge
<!-Et quand J'utilise Postman enter image description here

j'obtiens cette réponse

{"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"}

voilà, je souhaite me débarrasser de cette erreur. Si certains besoin de plus d'information, veuillez demander :)

46
demandé sur Santanu Dey 2013-10-04 14:18:27

1 réponses

je faisais face à ce problème aussi. Réponse courte: supprimer le Content-Type en-tête de votre requête Postman.

L'histoire est que l' Content-Type pour un multipart demande doit être assez spécial -- il devrait ressembler un peu comme ceci:

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

le problème est que la limite est importante et qu'elle doit exactement correspond à la limite utilisée pour séparer les fichiers téléchargés. La solution est simple: ne spécifiez pas un Content-Type! Lorsque vous téléchargez fichiers, Postman ajoutera automatiquement le type de contenu ci-dessus pour vous, sauf que la limite sera remplie avec ce que Postman ou Chrome utilise pour séparer le contenu multipart.

vous pouvez vérifier ce comportement en utilisant Chrome developer tools (dans Postman) pour examiner le Content-Type en-tête ajouté, en plus du Content-Disposition les en-têtes des données multiparties, qui sont aussi une douleur à construire manuellement (et impossible dans Postman.)

Remarque:: Ma réponse est une solution pour ceux qui ont besoin d'un multipart/form-data répondre. L'OP a la recherche d'un multipart/mixed la solution. Ma réponse ne suffira pas dans ce scénario. Cela étant dit, il semble que beaucoup de gens veulent juste le multipart/form-data la solution, je vais donc laisser ma réponse ici.

85
répondu Kirk Woll 2016-08-17 21:46:36