Javascript -- xhr multipart/form-data

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, 不然不生效)

成功如图

《Javascript -- xhr multipart/form-data》

–END–

    原文作者:谢秀岳
    原文地址: https://www.jianshu.com/p/b43563bc9d59
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞