0
我試圖做一個簡單的任務,將一個http響應下載到pdf中。我正在生成一個PDF文件,但我收到「無法打開PDF」的錯誤。如何將字節數組轉換爲pdf並下載
這就是我在做的。
let blob = new Blob([response.data], { type: 'application/pdf' })
FileSaver.saveAs(blob, 'foo.pdf')
我試圖做一個簡單的任務,將一個http響應下載到pdf中。我正在生成一個PDF文件,但我收到「無法打開PDF」的錯誤。如何將字節數組轉換爲pdf並下載
這就是我在做的。
let blob = new Blob([response.data], { type: 'application/pdf' })
FileSaver.saveAs(blob, 'foo.pdf')
響應的字符串似乎是Base-64編碼(參考fiddle)。你可以把它用fetch()
(或XMLHttpRequest()
舊版本瀏覽器)解碼:
fetch("data:application/pdf;base64," + response.data)
.then(function(resp) {return resp.blob()})
.then(function(blob) {
FileSaver.saveAs(blob, 'foo.pdf')
});
的響應也不像一個PDF文件(PDF是一個文本文件,並應與'%PDF.'開始)。你是否檢查過XMLHttpRequest使用正確的URI? – K3N
我不確定它是什麼。我正在嘗試顯示它的不同方式。這裏是一個小提琴我分叉並添加了迴應。也許這將有助於弄清楚它? – texas697
http://jsfiddle.net/8vzz8sk9/ – texas697