如果我使用它,为什么以这种方式发送照片的更好方法呢?
#1 楼
HTTP多部分请求是HTTP客户端构造的HTTP请求,用于将文件和数据发送到HTTP Server。浏览器和HTTP客户端通常使用它将文件上传到服务器。外观如何
请参阅Multipart Content-Type
请参阅multipart / form-data
评论
只是想补充一下,多部分表单数据字段是按顺序发送的。这不是显而易见的-我在这里添加了链接列表:github.com/balderdashy/skipper/blob/master / ...如果我有时间用PhantomJS / webkit编写一个测试用例,我将添加那里的链接。浏览器遵守规范的这一部分,甚至可以追溯到IE6。
– mikermcneil
2014年8月3日23:20
困难的部分是理解为什么将其称为“多部分请求”,而不是诸如文件上传请求之类的更明显的内容。
–拉斐尔·埃因(Rafael Eyng)
15年3月19日在12:19
OP希望有一种哲学的方法和答案。这个答案没有解释“为什么”部分。更多关于“什么”部分。我不是反对投票的忠实拥护者,但是我认为这个答案不是OP想要的,我一直在寻找。
– Saeed Neamati
15年8月19日在7:47
内容类型“ application / x-www-form-urlencoded”对于发送大量二进制数据或包含非ASCII字符的文本效率不高。内容类型“ multipart / form-data”应用于提交包含文件,非ASCII数据和二进制数据的表单。原始资源-w3.org/TR/html401/interact/forms.html#h-17.13.4.2
– Aditya Aggarwal
2015年11月5日7:55
此处提供有关萤火虫屏幕截图的更多详细信息:cubicrace.com/2016/05/upload-files-https-using-java.html
– Piyush Chordia
16年5月2日在7:13
#2 楼
如官方规范所述,“将一个或多个不同的数据集组合在一个主体中”。因此,当问题中提到的将照片和音乐作为多部分消息处理时,可能还会关联一些纯文本元数据,从而使请求包含不同类型的数据(二进制,文本),这意味着要使用多部分。 br />评论
我认为并非如此。上载图像时,整个图像(包括元数据)将是请求正文中的一组数据。即使身体只有一部分,它仍然是一个多部分的请求。您也可以创建一个请求,一次上传多个文件。
–达里奥·塞德尔(Dario Seidl)
18-09-29在11:48
@DarioSeidl标准假设您可能正在从Web表单提交文件上传,除了文件上传本身之外,该表单还可以包括其他数据字段。例如,除了原始文件名之外,用户还可以包括描述。 Multipart还处理与特定原始“文件”概念断开连接的通用二进制Blob。
–电离破碎的布里格姆
18-11-15在0:57
#3 楼
我在这里找到了一个很好且相对简短的解释。多部分请求是一个REST请求,在其实体内部包含多个打包的REST请求
评论
有关信息,请参见以下链接:http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2