//下载文件的方法
async download(){
let fileName = this.data['accName'];
let downloadUrl = this.downloadUrl;
await this.urlToBlob(downloadUrl)
await this.downloadFile(fileName, this.blobUrl)
}
private async urlToBlob(httpUrl) {
const res: Response = await fetch(httpUrl);
const blob: Blob = await res.blob();
this.blobUrl = URL.createObjectURL(blob);
return this.blobUrl;
}
downloadFile(name, url) {
var save_link = document.createElement("a");
save_link["href"] = url;
save_link["download"] = name;
this.fake_click(save_link);
}
private fake_click(obj) {
var ev = document.createEvent("MouseEvents");
ev.initMouseEvent(
"click", true, false, window, 0, 0, 0, 0, 0
, false, false, false, false, 0, null
);
obj.dispatchEvent(ev);
//防止同步任务过快,导致在列表页面没有最新数据
}
记录:因为跨域导致 <a>链接 download 属性失效的解决方法
最新推荐文章于 2023-09-05 14:04:29 发布