首頁  >  問答  >  主體

下載後如何確保檔案未損壞?

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粉135292805P粉135292805427 天前627

全部回覆(1)我來回復

  • P粉384366923

    P粉3843669232023-09-11 00:42:43

    由於您已經收到 Blob 形式的回應,因此無需再次將其轉換為 Blob,因此請嘗試刪除該部分。

    嘗試替換:

    const blobURL= window.URL.createObjectURL(
        new Blob([blob]))

    這樣:

    const blobURL= window.URL.createObjectURL(blob);

    回覆
    0
  • 取消回覆