Google chrome 使用Postman Chrome扩展发送多部分/混合内容
我正在努力使用Postman Chrome扩展创建POST multipart/mixed request 这是我的卷发要求,效果很好Google chrome 使用Postman Chrome扩展发送多部分/混合内容,google-chrome,curl,http-headers,postman,http-request,Google Chrome,Curl,Http Headers,Postman,Http Request,我正在努力使用Postman Chrome扩展创建POST multipart/mixed request 这是我的卷发要求,效果很好 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 反应中有趣的部分 内容长度:4
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人继续
内容类型:多部分/混合;边界=------------8aaca457e117
附加材料未精细转移。c:1037:0
HTTP 1.1或更高版本,支持持久连接和流水线
当我使用邮递员时
我得到了这样的回应
{"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"}
就是这样,我希望摆脱这个错误。
如果需要更多信息,请询问:我也面临这个问题。简短回答:从邮递员请求中删除内容类型标题 说来话长,多部分请求的内容类型应该非常特殊——它应该看起来像这样:
multipart/form-data; boundary=----WebKitFormBoundaryzeZR8KqAYJyI2jPL
问题是边界很重要,它需要精确匹配用于分隔上传文件的边界。解决方案很简单:不要指定内容类型!当您上传文件时,Postman会自动为您添加上述内容类型,但边界将填充Postman或Chrome用于分隔多部分内容的内容
您可以通过在Postman中使用Chrome developer工具来检查正在添加的内容类型头以及多部分数据的内容处置头来验证此行为,这也是手动构建的难题,在Postman中是不可能的
注意:我的答案是为那些需要多部分/表单数据答案的人提供的解决方案。OP正在寻找一种多部分/混合解决方案。在这种情况下,我的回答是不够的。话虽如此,似乎很多人只是想要多部分/表单数据解决方案,因此我将在这里留下我的答案。将此评论保留在:
忍者更新:不确定这是否对其他人有帮助,但对于一个特定场景,有一个变通方法,即在一个多部分POST请求中上载多个文件类型/内容类型
将标题内容类型设置为multipart/mixed。
在正文中选择表单数据选项。
将所有项目转换为文件。字符串内容应成为文本文件等。
通过选择文件并添加密钥名来添加每个文件。
这种方法实际上不需要手动指定每种内容类型或内容配置。这里的技巧是将所有相关内容序列化为持久文件类型。如果是文本,您可以忽略“将其转换为文件”步骤:希望对某人有所帮助 尝试删除内容类型,但无效。curl请求可以工作,但从尝试时失败POSTMAN@Aditya,它至少适用于其他33人:也许你最好问一个新问题,这样你就可以发布你的标题、回复等。也可以随意引用这个问题,或者你可以在Twitter上联系我查看我的个人资料。添加新问题,删除显式标题后,Postman包含多部分/表单数据,这与多部分/混合数据不同。@wst你的批评是公平的,我修改了我的答案,以更好地反映其不足之处。尽管如此,它对许多人来说仍然很有用,所以我将把它留给其他人。这显然已经被修复了:很好。谢谢,这很有效。我花了很多时间研究如何将多部分/混合加密的zip文件作为附件发送