multipart / form-data包含分隔名称/值对的边界。边界的作用类似于提交表单时传递的每个名称/值对的标记。边界自动添加到请求标头的内容类型。
具有enctype =“multipart / form-data”属性的表单将具有请求标头Content-Type:multipart / form-data; 边界--- WebKit193844043-h(浏览器生成的vaue)。
传递的有效负载看起来像这样:Content-Type: multipart/form-data; boundary=---WebKitFormBoundary7MA4YWxkTrZu0gW
-----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name=”file”; filename=”captcha”
Content-Type:
-----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name=”action”
submit -----WebKitFormBoundary7MA4YWxkTrZu0gW--
在Web服务端,它以@Consumes(“multipart / form-data”)形式使用。
请注意,在使用chrome postman测试您的Web服务时,您需要从下拉框中检查表单数据选项(单选按钮)和文件菜单以发送附件。将content-type显式提供为multipart / form-data会引发错误。因为边界丢失,因为它通过附加工作正常的边界来覆盖post man到服务器的内容类型的curl请求。