xhr 提交 multipart/form-data 无法解析
multipart/form-data
, w3c的定义是
不对字符编码。 在使用包含文件上传控件的表单时,必须使用该值。
天真的这样设置:
xhr.setRequestHeader("Content-type", "multipart/form-data;)
后台解析就出现 no multipart boundary param in Content-Type
查了下
boundary
这个玩意是二进制分割的值
请求的信息是这样的:
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryFJdWuYqSbbdzsuiV
这个不好生成, XHR怎么搞,,
不要急, 去掉Content-type为空就可以。浏览器会自动检测二进制文件....
一定要空的, 不然设置application/x-www-form-urlencoded或者其他的, 就等着出现request Content-Type isn't multipart/form-data
(当然, 一定是POST, 不然不生效)
成功如图
--END--