如何将POSTMAN用于Multipart / form-data,它具有自定义标题,用于测试我的控制器,该控制器将2个文件作为参数(public ... controller( MultipartFile[] files)
)?
POST .... HTTP/1.1
.
.
.
---boundary123
Content-type:application/octet-stream
content-Disposition: form-data filenale="abc.txt" name="someuniquename"
[paylaod content](this is in xml format)
---boundary123
content-type:application/json
content-Disposition:form-data name="metadata"
{ID:"999"}
---boundary123
答案 0 :(得分:14)
在邮递员中使用 ' Multipart / form-data' 的步骤
答案 1 :(得分:2)
我希望这将有助于其他人避免长时间的调试工作。底线是,对于某些分段上传,您只是运气不好。例如,如果您需要做多部分/相关的工作,并且需要在Content-Type的Header中表达出来,Postman就帮不了您。主要原因是Postman仅会生成随机边界,即使您添加自己的边界也是如此。困难的部分是Postman将声明在Postman控制台中使用您的边界,但实际上将在呼叫中使用其他边界。因此声明的标头边界与实际使用的边界不匹配。
这是一个来自Postman的请求的示例,可以在Postman Console和Fiddler中查看。如您所见,Fiddler显示Postman实际上正在发送随机边界,而Postman声称使用了所提供的边界。
我真的希望他们在Postman中解决此问题。至少要向其显示Postman Console,即使他们没有解决根本问题。对于大多数API来说,它是一个很好的工具,但是如果您要尝试安装DICOM服务器并遵守该规则,那么您将不走运。
答案 2 :(得分:0)
这是邮递员一个长期已知的问题。如果您进行的设置涉及一个部分说文本或JSON,而另一个部分说图片,则可能会有些棘手。关键是将Content-Type
标头设置为multipart/mixed
,然后将所有内容转换为文件。如果是文本,则可以忽略“将其转换为文件”步骤:)
在https://github.com/postmanlabs/postman-app-support/issues/1104
上保留此评论忍者更新:不确定是否对其他人有帮助,但是对于特定情况有一种解决方法,在单个多段POST请求中,您要上传多种文件类型/内容类型。>
Content-Type
设置为multipart/mixed
。form-data
中选择Body
选项。file
并添加键名来添加每个文件。此方法实际上不需要手动指定每个Content-Type
或Content-Disposition
。这里的技巧是将所有相关内容序列化为持久文件类型。希望能帮助到某人!
答案 3 :(得分:0)
This video介绍了如何使用邮递员过帐多部分/表单数据。我上传了一个文本文件,其内容类型为multipart / form-data。