我能够找到很多关于multipart / form-data的信息,但没有太多关于multipart / related的信息。在协议/请求格式方面,有人可以解释这两个http规范在文件上传方面的差异吗?
答案 0 :(得分:2)
multipart / form-data 用于在单个POST请求中上传MIME兼容表示文件,例如图片和视频文件以及相关元数据。当您在线填写附表中的图片然后按“提交”按钮时,会发生这种情况。
multipart / related 用于复合文档,您需要组合单独的正文部分以提供消息的完整含义。一个用例是将一些Base64编码的图像与相关的元数据一起提交。
一个POST请求示例是(https://cloud.google.com/storage/docs/json_api/v1/how-tos/multipart-upload):
POST https://www.googleapis.com/upload/storage/v1/b/myBucket/o?uploadType=multipart HTTP/1.1
Authorization: Bearer [YOUR_AUTH_TOKEN]
Content-Type: multipart/related; boundary=foo_bar_baz
Content-Length: [NUMBER_OF_BYTES_IN_ENTIRE_REQUEST_BODY]
--foo_bar_baz
Content-Type: application/json; charset=UTF-8
{
"name": "myObject"
}
--foo_bar_baz
Content-Type: image/jpeg
[JPEG_DATA]
--foo_bar_baz--
您可以在https://msdn.microsoft.com/en-us/library/ms527355(v=exchg.10).aspx
找到更多详情