Cyb*_*cob 2 javascript pdf download
我在浏览器中生成了一个 PDF,并将其转换为 Blob 对象。通过使用 javascript 注入标签a(下面的示例代码)下载此文件的“传统”方法会在浏览器中打开 PDF,但这会替换用户打开的页面,导致他们丢失任何未保存的工作。添加target="_blank"不会改变这一点,并且文档仍会在同一选项卡中打开。
const blob = new Blob([arrayBuffer], { type: "application/pdf" });
const url = URL.createObjectURL(blob);
const anchorElement = document.createElement('a');
anchorElement.href = url;
anchorElement.download = fileName;
anchorElement.target = "_blank";
anchorElement.click();
anchorElement.remove();
URL.revokeObjectURL(url);
Run Code Online (Sandbox Code Playgroud)
我很乐意在新选项卡中打开 PDF,或者强制下载它。由于 PDF 不是从 URL 加载的,因此无法在其上设置任何标题。
最终找到了解决方案,错误地设置 blob 上的 MIME 类型会破坏浏览器的文件类型检测,并阻止内置预览启动。
const blob = new Blob([arrayBuffer], { type: "application/octet-stream" });
Run Code Online (Sandbox Code Playgroud)