首页 > 解决方案 > 下载 angular 8 a txt

问题描述

很好,我想在页面上有一个按钮,当我按下它时,它会下载我保存的 txt 文件,我找到了 saveAs 功能,但它给了我错误,还有其他方法可以让它更容易吗?代码:

uploader: FileUploader;
    download(){
       saveAs(this.uploader, 'data.txt');
     }

HTML:

<button (click)="download()" class="btn"><i (click)="download()" class="fa fa-download"></i> Download</button>

saveAs 给我的错误:

TextAnomComponent.html:42 错误类型错误:无法在“URL”上执行“createObjectURL”:未找到与提供的签名匹配的函数。

标签: htmlangularsave-as

解决方案


首先,您需要确保它this.uploader是 blob 类型。

如果一切正常,那么您检查window.navigator.msSaveOrOpenBlob浏览器是否存在

如果没有,则创建一个链接以进行下载。

if (window.navigator.msSaveOrOpenBlob) {
  window.navigator.msSaveBlob(this.uploader, "data.txt");
}else {
  const downloadLink = window.document.createElement('a');

  // get the this.uploader file type and put in type below
  downloadLink.href = window.URL.createObjectURL(new Blob([this.uploader], { type: ... }));

  downloadLink.download = "data.txt";
  document.body.appendChild(downloadLink);
  downloadLink.click();
  document.body.removeChild(downloadLink);
}

希望这有帮助!


推荐阅读