【问题标题】:Angular won't open large blob fileAngular不会打开大的blob文件
【发布时间】:2020-10-21 20:23:29
【问题描述】:

我正在后端生成一个 pdf 文件并将其作为流缓冲区返回到前端

对于小型 PDF,一切正常 - 一个新的浏览器选项卡打开,我可以下载生成的 pdf。但是,当我生成大型 PDF 时遇到问题,服务器请求已完成,我可以看到 blob 数据,但它没有在新选项卡中打开 PDF,因此我可以查看和下载生成的 PDF。

组件.ts

async createReport() {
    let blob = await this.searchService.createReport(this.searchService.submitObj);
    let fileURL = URL.createObjectURL(blob);

    window.open(fileURL);
}

service.ts

async createReport(data) {
    let pdfStream = await this.http.post<any>(
      environment.apiUrl + 'search/create-issues-report',
      data,
      { responseType: 'blob' as 'json'}
    ).toPromise();

    return new Blob([pdfStream], { type: 'application/pdf' });
}

在打开大型 pdf 文件之前我需要进行其他设置吗?

【问题讨论】:

    标签: angular pdf url blob


    【解决方案1】:

    Nvmind 似乎 Chrome 阻止了来自 localhost:4200 的弹出窗口并阻止了窗口打开事件

    【讨论】:

      猜你喜欢
      • 2017-12-03
      • 2020-01-22
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 2015-07-02
      • 2017-02-01
      相关资源
      最近更新 更多