multipart/form-data

multipart/form-data 是浏览器在表单包含文件输入框时使用的媒体类型,也是向 API 上传文件的常用方式。请求体被分成多个部分,每个部分都有自己的请求头——一个名称,可选的文件名和一个 Content-Type——因此文本字段和二进制文件会一起在一个请求中传输。

工作原理

Content-Type 标头声明了一个边界字符串,请求体是由该边界分隔的各个部分组成的。客户端应让其 HTTP 库构建请求体并设置标头(包括边界字符串);服务器会检查每个部分声明的类型和大小,如果文件类型不被接受则返回 415 错误,如果文件过大则返回 413 错误。

误解

手动设置 Content-Type: multipart/form-data 很有帮助。如果没有边界参数,服务器无法分割请求体,上传就会失败,而且失败的方式也令人困惑。对于 fetch 和 FormData 来说,正确的做法是完全不设置请求头。

点击这里试试

POST /movies/v1/movies/{id}/poster模拟多部分海报上传,对于不支持的图像类型返回 415,对于过大的图像返回 413——这是每个上传端点都需要的两个检查。

资料来源

其他术语

阅读英文版

所有术语 · 测试技巧 · 全部 39 个模拟 REST API

最后更新时间