前端下载静态文件,显示进度

function blobStart(url,filekey,name,extension){
var x=new XMLHttpRequest();
x.open("GET", url, true);
x.responseType = 'blob';
x.send();

x.onload=function(e){

let url=URL.createObjectURL( x.response);
var a = document.createElement("a");
a.href = url;
a.download = name;
a.click();
// postData();
window.URL.revokeObjectURL(a.href);
}
x.addEventListener("progress", function(event) {
if (event.lengthComputable) {
var percentComplete = event.loaded / event.total * 100;
 
console.log(percentComplete);
// ...
 
} else {
// Unable to compute progress information since the total size is unknown
}
}, false);
x.onerror = function(){
console.log("文件下载失败");
 
}
 
 
 
}
原文地址:https://www.cnblogs.com/iroading/p/11077105.html