JS异步下载EXCEL
异步下载excel,
* 电脑桌面版浏览器测试了Safari和Chrome支持
* 支持的手机浏览器
----Safari(需要延迟删除href属性,不然会没反应,调试发现原因是报中断资源的错)、Chrome、华为自带浏览器、小米自带浏览器
* 经测试手机不支持的
----夸克、UC、QQ浏览器,OPPO自带、三星自带、魅族自带
以上仅供参考,相信随着技术的进步会慢慢支持的
上代码↓↓↓
download: function () {
let param = ...;
let xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob'
xhr.send(param);
xhr.onload = function() {
if (this.status === 200) {
let content = xhr.getResponseHeader('content-disposition');
// let blob = new Blob([xhr.response], {type:xhr.getResponseHeader('Content-Type')});
let blob = xhr.response;
let oa = document.createElement('a');
oa.href = URL.createObjectURL(blob);
oa.download = decodeURI(content).slice(20);
document.body.appendChild(oa);
oa.click();
setTimeout(function () {
window.URL.revokeObjectURL(oa.href);
document.body.removeChild(oa);
}, 3000)
}else{
......
}
}
}

浙公网安备 33010602011771号