【问题标题】:Open PDF in new tab in Angular在 Angular 的新选项卡中打开 PDF
【发布时间】: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));

【问题讨论】:

    标签: angular spring-boot blob


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回答,但它再次下载,它没有打开一个新标签。
    猜你喜欢
    • 2020-10-09
    • 2018-01-23
    • 2017-08-06
    • 1970-01-01
    • 2021-12-26
    • 2018-09-05
    • 2019-04-12
    • 2013-12-22
    • 2017-04-28
    相关资源
    最近更新 更多