HTML5 File API readAsBinaryString读取的文件比磁盘上的文件大得多且与之不同
如果您以二进制字符串形式读取文件并手动形成multipart/form-data请求,则可能会发生这种情况。
您需要尝试使用xhr.send(File)并解决xhrprogress事件,该事件在所有列表项都已创建后就会触发。
示例
以下是我们的上传功能-
function display(url, files) { var myForm = new FormData(); for (var j = 0, file; file = files[j]; ++j) { myForm.append(file.name, file); } var xhr = new XMLHttpRequest(); xhr.open('POST', url, true); xhr.onload = function(e) { ... }; xhr.send(formData); }