a鏈接有些圖片不能下載的問題

情景:直接前端下載圖片、pdf、mp4等文件,沒有和后端交互。
常見用法:a鏈接加download屬性

<a  download="">下載</a>

問題:有些cdn上的圖片、文件不能直接下載,直接打開。
解決方案:

<div onclick="handleDownload('https://cdnxxxx.com/activity/load.pdf')">下載</div>

<script>
    function handleDownload(str) {
      const name = "附件";
      const url = str;
      const suffix = url.substring(url.lastIndexOf("."), url.length);
      
      const x = new XMLHttpRequest();
      x.open("GET", url, true);
      x.responseType = 'blob';
      x.onload=function(e) {
          const url = window.URL.createObjectURL(x.response);
          const a = document.createElement('a');
          a.href = url;
          a.download = name + suffix;
          a.click()
      };
      x.send();
    }
</script>

ps:該方法實(shí)驗(yàn)了一部分,如有失效的時(shí)候,歡迎指出。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容