问题
I am trying to do a simple task of downloading a http response to a pdf. I am generating a pdf file but I am getting an error of "Failed to open PDF".
Here is what the response looks like.
And here is what I am doing.
let blob = new Blob([response.data], { type: 'application/pdf' })
FileSaver.saveAs(blob, 'foo.pdf')
回答1:
The string from the response seem to be Base-64 encoded (ref. fiddle). You can decode it using fetch()
(or XMLHttpRequest()
for older browsers):
fetch("data:application/pdf;base64," + response.data)
.then(function(resp) {return resp.blob()})
.then(function(blob) {
FileSaver.saveAs(blob, 'foo.pdf')
});
来源:https://stackoverflow.com/questions/45867157/how-to-convert-byte-array-to-pdf-and-download