Tool for sending multipart/form-data request
我目前正在使用chrome-addon-postman-rest客户端轻松创建post/get请求,这是一个非常好的工具。
现在,我想调试一个上传脚本,我正在寻找一个工具来将请求编码为"多部分/表单数据",以便我也可以发送一个文件。
谢谢你的帮助
更新:我创建了一个关于发送多部分/表单数据请求的视频来更好地解释这一点。
实际上,邮递员可以做到这一点。这是截图
更新版本:从Postman Chrome扩展捕获的屏幕截图
另一版本
老版本
确保您查看了@maxkoryukov的评论
Be careful with explicit Content-Type header. Better - do not set it's
value, the Postman is smart enough to fill this header for you. BUT,
if you want to set the Content-Type: multipart/form-data - do not
forget about boundary field.
- 邮递员的表单数据参数有时无法进入我的LaravelAPI的REST方法。不知道为什么。
- @Valentin,我在Google应用程序引擎(python 2.7)的localhost上尝试了这个方法,但它抛出了一个内部服务器错误(500)。你还需要做些什么才能让它工作吗?
- 谷歌应用引擎给出了内部服务器错误?
- @yonatannir您必须选择post,而不是预先选择的get方法。
- 我做到了。当选择Post时,它添加了一个发送标题和正文的选项。正文有3个选项卡:原始、窗体、文件。在表单选项卡中,您可以为参数添加键值,但文件位于单独的选项卡中,并且没有将它们分配给参数的选项。
- @Yonatannir我添加了一个更新的屏幕截图和最新的邮差版本。希望这有帮助。
- 错误"There is no multipart/form-data content in request"。
- 它不适用于Put请求
- 注意明确的Content-Type头。更好的-不要设置它的值,邮递员足够聪明,可以为您填充这个标题。但是,如果你想设置Content-Type: multipart/form-data,不要忘记Boudary场。
- @Maxkoryukov感谢您的评论。当我尝试使用Postman客户机上传多部分文件时,我的API根本不起作用。突然我听到你的评论,这真的救了我的命。但是,你能解释更多关于boundary领域的内容吗?我知道邮递员自己增加了边界。我该如何手动操作?:)
- @Oathkeeper,这里有一个很好的边界解释:stackoverflow.com/a/20321259/1115187,用两个词表示:您可以手动设置边界,并且有两个简单的规则。
- 对于我的RubyonRails服务器,我必须将"文件名"改为"文件"。
- 真的很有帮助。
- 记住,您必须显式地键入一个键名。例如"文件"。否则就不起作用了。
- 是的,你是对的。也许您提醒用户显式删除"content-type"头。否则我会得到这个错误:stackoverflow.com/questions/17415084/…
- 提醒一下,在邮差7.1.0中,我必须手动在"键"列中输入文本,因为将其留空会给我一个错误。
下面是使用邮差上载文件(多部分)的屏幕截图。常见的问题是您手动将内容类型:多部分/表单数据放入POST请求的头中。实际上,你不应该,邮递员会帮你的。
不要
应该是
希望它有帮助
- 删除"内容类型"标题的好提示!
- 删除内容类型修复了我的问题,异常为:javax.servlet.servlet exception:org.jvnet.mimepull.mimeparsingexception:缺少开始边界,谢谢。
- 确保设置您在multer配置中设置的密钥
- 不删除默认头将导致各种问题。
- 谢谢,我犯了这个错误
- 谢谢,这对我有用
- 谢谢@peter的提示。你救了我的命!
- 为什么删除内容类型有效?有没有手动的方法?
- 内容类型标题的自动填充占用了我的一天。谢谢你给我小费!
- 因为我不工作
- @吊卸头解决了我的问题