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

新手上路,请多包涵

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

原文由 Harish Krishnan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 763
2 个回答

根据@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' });
    });
  }

在组件文件中

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

原文由 Harish Krishnan 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

window.open(url, '_blank');

原文由 Waleed Shahzaib 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题