[英]Unable to download excel file from asset/test.xlsx on IE and Edge browser
我尝试使用锚标记和下载属性,但它在 IE 和 Edge 中不起作用,有时它在 chrome 中起作用,但有时却不起作用。 我尝试使用 navigator.msSaveBlob function 但我不确定如何将它用于 excel 文件,该文件在我的资产文件夹中的 angular 项目中可用。 如果您有任何解决方案,请告诉我。 提前致谢
if(navigator.msSaveBlob)
{
// For IE/Edge
let data: any;
this.HttpService
.get("assets/sample.xlsx",{responseType: 'text'})
.subscribe((res:any) => {
data = res;
let byteCharacters = atob(data);
let byteNumbers = new Array(byteCharacters.length);
for(let i=0; i < byteCharacters.length; i++) {
byteNumbers[i] = byteCharacters.charCodeAt(i);
}
let byteArray = new Uint8Array(byteNumbers);
let blob = new Blob([byteArray],{type:'application/vnd.ms-excel});
window.navigator.msSaveOrOpenBlob(blob,'sample.xlsx');
});
}
else if(!navigator.msSaveBlob)
{
// For Non-IE
let link = document.createElement("a");
link.href = "assets/sample.xlsx";
link.download = "sample.xlsx";
link.click();
window.URL.revokeObjectURL(link.href);
link.remove();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.