handleDownload()
函數會以事件處理程序(onclick) 加入按鈕,以便使用者可以下載檔案。用戶可以下載但檔案已損壞。我們如何防止檔案損壞?
function handleDownload(){ const domain = window.location.origin; const url =`${domain}/images/athar.pdf` fetch(url). then(response=>response.blob()). then(blob=>{ const blobURL= window.URL.createObjectURL( new Blob([blob])) const filename = 'athar.pdf' const aTag = document.createElement('a') aTag.href=blobURL aTag.setAttribute('download',filename) document.body.appendChild(aTag) aTag.click() aTag.remove() }). catch(e=>console.log(e)) }
P粉3843669232023-09-11 00:42:43
由於您已經收到 Blob 形式的回應,因此無需再次將其轉換為 Blob,因此請嘗試刪除該部分。
嘗試替換:
const blobURL= window.URL.createObjectURL( new Blob([blob]))
這樣:
const blobURL= window.URL.createObjectURL(blob);