在Firefox 3.6和Chrome上,使用xhr.send(file)只是將原始內容放入請求的正文中,並且它不是真正的multipart/form-數據上傳。xhr.send(file)不會將其作爲多部分發布
試着這樣做:http://kaply.com/weblog/2010/05/20/post-multipart-form-xhr/
但是,發送過程中不能真正混合字符串文件內容()。
任何解決方法?
在Firefox 3.6和Chrome上,使用xhr.send(file)只是將原始內容放入請求的正文中,並且它不是真正的multipart/form-數據上傳。xhr.send(file)不會將其作爲多部分發布
試着這樣做:http://kaply.com/weblog/2010/05/20/post-multipart-form-xhr/
但是,發送過程中不能真正混合字符串文件內容()。
任何解決方法?
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
關鍵是使用sendAsBinary(body)而不是send(body)。查看您鏈接的頁面上的最新評論!