在 Angular 的新选项卡中打开 PDF

Posted

技术标签:

【中文标题】在 Angular 的新选项卡中打开 PDF【英文标题】:Open PDF in new tab in Angular 【发布时间】:2021-12-02 22:18:10 【问题描述】:

我正在使用 angular8 和 spring boot 下载文件。我想打开我保存在新标签中的 PDF 文件,你能帮我而不是下载它们吗?

 FileDownload(fileId: number, headers): Observable<any> 
    return this.http.get(apiHost + '/downloadFile/' + fileId,  headers, responseType: 'blob' as 'json' );

  
  
  downloadFile(event): void 
    const headers = new HttpHeaders();

    this.service.FileDownload(event.fileId, headers).subscribe(response => 

      let dataType = response.type;
      let binaryData = [];
      binaryData.push(response);

      let downloadLink = document.createElement('a');
      downloadLink.href = window.URL.createObjectURL(new Blob(binaryData,  type: dataType ));
      if (event.fileName)
        downloadLink.setAttribute('download', event.fileName);
      document.body.appendChild(downloadLink);
      downloadLink.click();

    )


  

更新(工作代码)

 this.service.FileDownload(event.fileId, headers).subscribe(response => 
      let dataType = response.type;
      let binaryData = [];
      binaryData.push(response);

      const fileURL = URL.createObjectURL(new Blob(binaryData,  type: dataType ));
      window.open(fileURL, '_blank');


    )


Spring Booot (inline)

response.setHeader("Content-Disposition", String.format("inline; filename=\"%s\"", fileName));

【问题讨论】:

【参考方案1】:

window.open(downloadLink.href, '_blank')

【讨论】:

感谢您的回答,但它再次下载,它没有打开一个新标签。

以上是关于在 Angular 的新选项卡中打开 PDF的主要内容,如果未能解决你的问题,请参考以下文章

从 C# 在新选项卡中打开页面

如何在 HTML 的新选项卡中打开链接?

如何在角度 2 的新选项卡中打开路由 url?

如何在 Visual Studio Code 的新选项卡中打开文件

如何在 NextJS 的新选项卡中打开链接?

在新选项卡中打开 PDF - Blazor