首页 > 如何在前端获取一个文件的加载进度

如何在前端获取一个文件的加载进度

求助求助,我想在前端获取一个json文件的加载进度,如何获取呢?
原本用xhr.loaded可以,但服务器开了gzip后,就获取不了了


一般是这样做的:

if (event.lengthComputable) {
      var percentComplete = event.loaded / event.total;
    }

但启用GZIP后,你会找不到 Content-length的值,就没法通过普通方法获取进度了。
response中也会看到:Transfer-Encoding:chunked 该编码将实体分块传送并逐块标明长度,直到长度为0块表示传输结束。


可以用ajax论询另一个请求地址, 由服务端返回读取的字节数 / 总字节数


这是之前在知乎看到的答案链接描述


ajax除了上传文件可以得到进度外, 其他普通的数据都得不到进度

【热门文章】
【热门文章】