gpt4 book ai didi

javascript - 如何使用浏览器的 PDF 查看器而不是下载来打开 PDF Blob?

转载 作者:行者123 更新时间:2023-11-29 10:58:03 27 4
gpt4 key购买 nike

我有一个 PDF 文件的 ArrayBuffer 数据,我想使用浏览器的内置 PDF 查看器打开它。

这是我使用的代码:

const blob = new Blob([pdfBuffer], { type: 'application/pdf' });
const a = document.createElement('a');
a.href = window.URL.createObjectURL(blob);
a.download = fileName;
a.style.position = 'fixed';
a.target = '_blank';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);

这总是导致 PDF 文件被下载到设备上的下载文件夹,而不是在浏览器中使用 PDF 查看器在新选项卡中打开。我在 Chrome、Opera 和 Firefox 中对此进行了测试,结果相同。

我之前通过在响应中设置 Content-Disposition header 来实际从服务器本身下载 PDF,但我不确定如何在客户端执行此操作Blob 就像这样。

最佳答案

您可以在 window.URL.createObjectURL(blob) 的结果上使用 window.open() 在新窗口中打开 PDF 而不是下载它。例如:

var blob = new Blob([pdfBuffer], {type: 'application/pdf'});
var blobURL = URL.createObjectURL(blob);
window.open(blobURL);

关于javascript - 如何使用浏览器的 PDF 查看器而不是下载来打开 PDF Blob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53066089/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com