javascript - 使用来自后端的流,PDF Blob 在新选项卡中不显示任何内容
问题描述
我使用https://github.com/barryvdh/laravel-dompdf 流方法向前端发送响应。这是我为在新选项卡中打开 pdf 而编写的代码。我从后端 API 调用流,结果它给出了响应,但是当我尝试创建 blob 时,它在 PDF 中什么也没有显示。
APICaller({
method: 'get',
responseType: "arraybuffer",
headers: {
'Accept': 'application/pdf'
},
endpoint: gep('generate/certificate?path=certificate.pdf', 'v3'),
}).then( (data) => {
var file = new Blob([data.data], {type: 'application/pdf'});
var fileURL = URL.createObjectURL(file);
window.open(fileURL);
});
解决方案
我对 axios 也有类似的问题,它不适用于使用 Blob 下载文件。使用 XMLHttpRequest 并在其事件中做类似的响应处理程序on('load')
来实现文件下载。
推荐阅读
- rust - Rust 无法构建 64 位 RISC-V 二进制文件
- c# - 如何将侦听器附加到在密钥到期时调用的 MemoryCache?
- python - 输出层中不兼容的形状 - Tensorflow
- jq - JMESPath 的条件 if/then/else?
- c# - Unity:Singleton ScriptableObjects 在播放后重置
- python-3.x - 用常数为分类数据输入缺失值
- python-3.x - 如何将数据框中的每一行拆分为具有某些功能的两行?
- swift - 当 Firestore 集合已经存在时如何捕获错误?
- c# - 在 Serilog MsSql 接收器中填充自定义列
- php - 这个 POST 请求是如何工作的?