我使用了https://github.com/barryvdh/laravel-dompdf 用于将响应发送到前端的stream方法。 这是我写的用于在新选项卡中打开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);
});
答案 0 :(得分:0)
我在axios上遇到类似的问题,它不适用于使用Blob下载文件。使用XMLHttpRequest并在其on('load')
事件中执行类似的响应处理程序,以实现文件下载。