HTML5 文件 API readAsBinaryString 读取的文件比磁盘上的文件大很多,并且不同


如果您将文件读为二进制字符串,然后手动形成 multipart/form-data 请求,就有可能导致这种情况。

您需要尝试使用 xhr.send(File) 并解决 xhr 进度事件,该事件在已创建所有列表项时触发。

示例

以下是我们的上传函数 −

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);
}

更新时间: 25-6 月-2020

111 次浏览

开始你的职业

通过完成课程获得认证

开始学习
广告
© . All rights reserved.