在新选项卡中打开PDF文件角4?

k h*_*ish 11 javascript pdf angular

我尝试使用window.open()打开PDF文件,但窗口会自动打开和关闭,文件会像任何其他文件一样下载.如何在新标签页中打开PDF文件?FYI没有安装广告拦截器

k h*_*ish 26

感谢您的答复.

从@barbsan的想法,我改变了http标题并收到了一个blob并使用它来使用window.open()将blob显示为pdf.有效.

这是我的示例代码.

在服务文件中

downloadPDF(url): any {
    const options = { responseType: ResponseContentType.Blob  };
    return this.http.get(url, options).map(
    (res) => {
        return new Blob([res.blob()], { type: 'application/pdf' });
    });
  }
Run Code Online (Sandbox Code Playgroud)

在组件文件中

this.dataService.downloadPDF(url).subscribe(res => {
  const fileURL = URL.createObjectURL(res);
  window.open(fileURL, '_blank');
});
Run Code Online (Sandbox Code Playgroud)

  • 如果您使用广告拦截器扩展程序,请务必小心.广告拦截器默认阻止blob网址.因此,例如在Chrome和Firefox中,使用uBlock Origin扩展程序,它会尝试打开新窗口并自动关闭它.您可以在这里阅读更多信息:/sf/ask/3589094701/ (8认同)
  • 用上述方法在新选项卡中打开文件时如何设置文件名? (2认同)

Wal*_*aib 10

在新选项卡中打开 pdf 文件的一种班轮解决方案。您只需要拥有文件 url 并在单击按钮时使用此功能。

window.open(url, '_blank');