日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1分钟了解js如何实现下载文件功能的4种方式

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1分钟了解js如何实现下载文件功能的4种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、a標簽下載 —可以直接下載txt、png、pdf、exe、xlsx等類型文件

downFile = (url) => {const a = document.createElement('a');a.style.display = 'none';a.download = 'xx';a.href = url;document.body.appendChild(a);a.click(); document.body.removeChild(a);/** download: HTML5新增的屬性* url: 屬性的地址必須是非跨域的地址*/};

2、new Blob 文件流下載

//fileName : 設置下載的文件名稱//filestream: 返回的文件流const blob = new Blob([filestream], {type: 'application/vnd.ms-excel'});const a = document.createElement('a');const href = window.URL.createObjectURL(blob); // 創建下載連接a.href = href;a.download = decodeURI(fileName );document.body.appendChild(a);a.click();document.body.removeChild(a); // 下載完移除元素window.URL.revokeObjectURL(href); // 釋放掉blob對象

3、window.open下載

window.open(url, '_self'); 缺點:會出現URL長度限制問題需要注意url編碼問題無法獲取下載進度無法在header中攜帶token做鑒權操作無法判斷接口是否成功無法直接下載瀏覽器可直接預覽的文件類型(txt、png、pdf會直接預覽)

4、location.href 下載

window.location.href = url 缺點:會出現URL長度限制問題需要注意url編碼問題無法獲取下載進度無法在header中攜帶token做鑒權操作無法直接下載瀏覽器可直接預覽的文件類型(txt、png、pdf會直接預覽)無法判斷接口是否返回成功

總結

以上是生活随笔為你收集整理的1分钟了解js如何实现下载文件功能的4种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。