如果在Angular Project中阻止了弹出窗口,则可以将PDF文件下载作为附件



我有以下代码,该代码在从服务器返回服务器以获取报告时运行:

this.http.print_report()
  .subscribe( (pdf) => {
      this.file = pdf;
    },
    () => {
    },
    () => {
      this.pdf = new Blob([new Uint8Array(this.file)], {type: 'application/pdf'});
      const fileURL = URL.createObjectURL(this.pdf);
      // Open window
      window.open(fileURL, '_blank');
    });

如果我想采取一种干净的方式将文件下载作为附件,如果弹出窗口在浏览器设置中被阻塞,我将如何实现?

您可以尝试使用filesaver或递给大文件,请使用streamsaver。

另外,首先阅读此简介以探索其他选项,并查看您是否实际需要FileSaver或简单的Content-Disposition

样本使用:

import * as FileSaver from "file-saver";
this.itemService
        .downloadAttachment(itemNumber, attachmentId)
        .subscribe(
          data => {
            FileSaver.saveAs(data.content, data.fileName);
          },
          error => {
            console.error("Download Error", error);
          }
        );

相关内容

  • 没有找到相关文章

最新更新