tex*_*697 2 javascript blob filesaver.js
我正在尝试做一个简单的任务,将 http 响应下载到 pdf。我正在生成一个 pdf 文件,但出现“无法打开 PDF”的错误。
这就是我正在做的事情。
let blob = new Blob([response.data], { type: 'application/pdf' })
FileSaver.saveAs(blob, 'foo.pdf')
Run Code Online (Sandbox Code Playgroud)
小智 7
响应中的字符串似乎是 Base-64 编码的(参考小提琴)。您可以使用fetch()(或XMLHttpRequest()对于较旧的浏览器)对其进行解码:
fetch("data:application/pdf;base64," + response.data)
.then(function(resp) {return resp.blob()})
.then(function(blob) {
FileSaver.saveAs(blob, 'foo.pdf')
});
Run Code Online (Sandbox Code Playgroud)