在 Firefox 3.6 和 Chrome 上,使用 xhr.send(file) 只是将原始内容放入请求的正文中,这不是真正的多部分/表单数据上传。
尝试这样做:http://kaply.com/weblog/2010/05/20/post-multipart-form-xhr/
但是,在 send() 期间不能真正将字符串与文件内容混合。
有什么解决方法吗?
最佳答案
xhr.sendAsBinary()
是非标准的。相反,使用 xhr.send(FormData)
,它确实创建了一个 multipart/form-data
请求,允许附加文件和任意表单数据。
var formData = new FormData();
formData.append(file.name, file);
var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload', true);
xhr.onload = function(e) { ... };
xhr.send(formData); // multipart/form-data
参见 http://www.html5rocks.com/en/tutorials/file/xhr2/#toc-send-formdata
关于javascript - xhr.send(file) 不会将其作为多部分发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3315429/