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

最佳答案

从@barbsan的想法出发,我更改了http header 并接收到一个blob,并使用它使用window.open()将其显示为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');
});

关于javascript - 在新标签的angular 4中打开PDF文件吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51204276/

10-14 17:25
查看更多