注意不要手动设置Content-Type
为multipart/form-data
。参考这里的回答。
正常以multipart/form-data
编码方式提交请求体,生成的content-type
应该像下面这样的:
1 | content-type: multipart/form-data; boundary=----WebKitFormBoundarygf3ApzJj5ahh2G7t |
boundary
是浏览器自动生成的分割符, 如果手动设置Content-Type
,boundary
就会被覆盖掉,导致无法提交请求体数据。
示例:
1 | const formData = new FormData() |
Request Payload:
1 | ------WebKitFormBoundarygf3ApzJj5ahh2G7t Content-Disposition: form-data; name="attachment"; filename="test.csv" Content-Type: application/octet-stream ------WebKitFormBoundarygf3ApzJj5ahh2G7t-- |