繁体   English   中英

无法在 IE 和 Edge 浏览器上从 asset/test.xlsx 下载 excel 文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM