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
<!-Et quand J'utilise PostmanContent-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
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 :)
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.