使用Postman Chrome扩展发送多部分/混合内容

我努力用Postman Chrome扩展创buildPOST多部分/混合请求

这是我的curl请求什么很好

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 

有意思的部分回应

内容长度:41557

期待:100-继续

内容types:multipart / mixed; 边界= —————————- 8aaca457e117

  • 额外的东西不好转c:1037:0 0
  • 具有持续连接的HTTP 1.1或更高版本,支持stream水线

而当我使用邮差 在这里输入图像说明

我得到这样的回应

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

就是这样 – 我想摆脱那个错误。 如果需要更多的信息请问:)

我也面临这个问题。 简短的回答:从邮递员请求中删除Content-Type标题。

长久以来,多部分请求的Content-Type应该是相当特殊的 – 它应该是这样的:

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

问题是边界很重要,它需要完全匹配用于分隔正在上传的文件的边界。 解决方法很简单:不要指定一个Content-Type ! 当你上传文件的时候,邮差会自动为你添加上面的内容types,除了边界将被Postman或Chrome用来分隔多部分内容填充。

您可以通过使用Chrome开发人员工具(Postman内部)来检查要添加的Content-Type标头,以及多部分数据的Content-Disposition标头,这也是一种手动构build的痛苦(在Postman中是不可能的)。

注意 :我的答案是需要multipart/form-data答案的人的解决scheme。 OP正在寻找一个multipart/mixed解决scheme。 在这种情况下,我的回答是不够的。 这就是说,似乎很多人只是想要multipart/form-data解决scheme,所以我会在这里留下我的答案。