久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

javascript 怎么實現下載功能

javascript實現下載功能的方法:1、通過a標簽實現下載;2、通過“window.open”方法實現下載;3、通過“location.href”方法實現下載;4、通過文件流轉blob對象實現下載功能。

javascript 怎么實現下載功能

本教程操作環境:Windows10系統、javascript1.8.5版本、Dell G3電腦。

javascript 怎么實現下載功能?

js實現文件下載功能

一、a標簽下載

<body> <button onClick="download()">a標簽下載</button> <script> function download(url = 'http:www.xxx.com/download?name=file.pdf', fileName = '未知文件') {       const a = document.createElement('a');       a.style.display = 'none';       a.setAttribute('target', '_blank');       /*        * download的屬性是HTML5新增的屬性        * href屬性的地址必須是非跨域的地址,如果引用的是第三方的網站或者說是前后端分離的項目(調用后臺的接口),這時download就會不起作用。        * 此時,如果是下載瀏覽器無法解析的文件,例如.exe,.xlsx..那么瀏覽器會自動下載,但是如果使用瀏覽器可以解析的文件,比如.txt,.png,.pdf....瀏覽器就會采取預覽模式        * 所以,對于.txt,.png,.pdf等的預覽功能我們就可以直接不設置download屬性(前提是后端響應頭的Content-Type: application/octet-stream,如果為application/pdf瀏覽器則會判斷文件為 pdf ,自動執行預覽的策略)        */       fileName && a.setAttribute('download', fileName);       a.href = url;       document.body.appendChild(a);       a.click();       document.body.removeChild(a);     } </script> </body>
登錄后復制

優點:

  • 可以直接下載txt、png、pdf、exe、xlsx等類型文件

缺點:

  • a標簽只能做get請求,所以url有長度限制

  • 無法獲取下載進度

  • 跨域限制

  • 無法在header中攜帶token做鑒權操作

  • 無法判斷接口是否成功

  • IE兼容問題

二、window.open下載

<body>   <button onclick="download('http://www.xxx.com/download?name=file.pdf')">window.open下載</button>   <script>     function download(url) {       window.open(url, '_self');       /**        *  _blank:在新窗口顯示目標網頁        *  _self:在當前窗口顯示目標網頁        *  _top:框架網頁中在上部窗口中顯示目標網頁       /**     }   </script> </body>
登錄后復制

優點:

  • 簡單方便

缺點:

  • 會出現URL長度限制問題

  • 需要注意url編碼問題

  • 無法獲取下載進度

  • 無法在header中攜帶token做鑒權操作

  • 無法判斷接口是否成功

  • 無法直接下載瀏覽器可直接預覽的文件類型(txt、png、pdf會直接預覽)

三、location.href 下載

<body>   <button onclick="download('http://www.xxx.com/download?name=file.pdf')">location.href下載   </button>   <script>     function download(url) {       window.location.href = url;     }   </script> </body>
登錄后復制

優點

  • 簡單方便直接

  • 可以下載大文件(G以上)

缺點

  • 會出現URL長度限制問題

  • 需要注意url編碼問題

  • 無法獲取下載進度

  • 無法在header中攜帶token做鑒權操作

  • 無法直接下載瀏覽器可直接預覽的文件類型(txt、png、pdf會直接預覽)

  • 無法判斷接口是否返回成功

三、文件流轉blob對象下載

 <button onclick="download()">文件流轉blob對象下載</button>  <script>  download() {  axios({  url: 'http://www.xxx.com/download',  method: 'get',  responseType: 'blob',  }).then(res => {  const fileName = res.headers.content-disposition.split(';')[1].split('filename=')[1];  const filestream = res.data;  // 返回的文件流  // {type: 'application/vnd.ms-excel'}指定對應文件類型為.XLS (.XLS的縮寫就為application/vnd.ms-excel)  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 = decodeURL(fileName );     document.body.appendChild(a);         a.click();         document.body.removeChild(a); // 下載完移除元素         window.URL.revokeObjectURL(href); // 釋放掉blob對象  })  }  </script>
登錄后復制

優點:

  • 可以下載txt、png、pdf等類型文件

  • 可以在header中攜帶token做鑒權操作

  • 可以獲取文件下載進度

  • 可以判斷接口是否返回成功

缺點:

  • 兼容性問題,IE10以下不可用,注意Safari瀏覽器,官網給出 Safari has a serious issue with blobs that are of the type application/octet-stream

  • 將后端返回的文件流全部獲取后才會下載

推薦學習:《JavaScript視頻教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
精品一区视频| 蜜桃av一区二区三区电影| 综合亚洲自拍| 亚洲精品一二三区区别| 五月天久久777| 蜜桃伊人久久| 日韩中出av| 精品中文在线| 日韩国产欧美| 精品美女视频| 国产一区福利| 亚洲精品88| 日韩精品电影| 欧美日韩在线播放视频| 神马午夜久久| 日韩一级精品| 蜜桃视频一区二区三区| 亚洲精品第一| 欧美一区91| 国产激情综合| 国产 日韩 欧美一区| 五月婷婷六月综合| 国产偷自视频区视频一区二区| 欧美大黑bbbbbbbbb在线| 久久国产高清| 久久精品国产亚洲aⅴ| 日韩精品诱惑一区?区三区| 9色精品在线| 日产欧产美韩系列久久99| 麻豆国产一区| 欧美高清一区| 日韩精品久久理论片| 美日韩一区二区三区| 国模精品一区| 国产亚洲福利| 久久av偷拍| 免费视频亚洲| 国产欧美一区二区三区米奇| 91亚洲国产高清| 色狠狠一区二区三区| 久久电影tv| 日韩一区二区三免费高清在线观看| 婷婷激情一区| 国产精品一卡| 视频一区视频二区中文字幕| 激情综合五月| 亚洲bt欧美bt精品777| 亚洲成a人片| 深夜日韩欧美| 美女毛片一区二区三区四区| 国产精品密蕾丝视频下载| 免费成人性网站| 日韩精品亚洲专区在线观看| 青青青免费在线视频| 日韩不卡一二三区| 亚洲精品动态| 国产精品激情电影| 在线精品福利| 日韩精品首页| 欧美亚洲tv| 日韩精品1区| 桃色av一区二区| 色欧美自拍视频| 国产一卡不卡| 国产日韩精品视频一区二区三区| 亚洲永久字幕| 久久亚洲视频| 91精品国产自产观看在线| 青草国产精品| 国产精品欧美日韩一区| 国产黄色精品| 91亚洲自偷观看高清| 日韩国产在线| 99视频精品免费观看| 丝瓜av网站精品一区二区| 鲁大师成人一区二区三区| 日本欧美在线看| 青青草精品视频| 精品无人区麻豆乱码久久久| 国产精品嫩模av在线| 亚洲精品欧美| 在线一区电影| 视频一区中文字幕| 国产一区二区三区四区二区| 97精品资源在线观看| 国产精品资源| 黄色在线一区| 野花国产精品入口| 亚洲精品在线观看91| 中国女人久久久| 免费视频最近日韩| 亚洲精品一区二区在线播放∴| 国产精品日韩| 国产极品一区| 日韩av一区二| 日韩av一区二区在线影视| 日本精品久久| 精品国产乱码久久久| 久久久久久久欧美精品| 人人爱人人干婷婷丁香亚洲| 国产欧美一区二区精品久久久| 青青草伊人久久| 国产精品.xx视频.xxtv| 国产成人免费| 亚洲美洲欧洲综合国产一区 | 亚洲精品电影| 国产毛片久久久| 丁香六月综合| 日韩午夜电影| 蜜桃久久精品一区二区| 免费视频久久| 欧美精品国产一区| 国产一区2区| 欧美1区2区3区| 日本免费在线视频不卡一不卡二| 久久精品国产999大香线蕉| 亚洲v在线看| 国产亚洲一区二区三区啪| 99久久婷婷| 欧美国产极品| 只有精品亚洲| 蜜桃av在线播放| 国产欧美一区二区三区国产幕精品| 日韩欧美自拍| 国产精品久久久久久久久久久久久久久| 日韩精品麻豆| 四虎精品永久免费| 日韩国产专区| 麻豆精品新av中文字幕| 日韩中文字幕1| 天堂网在线观看国产精品| 精品一区91| 国产剧情一区二区在线观看| 免费欧美在线视频| 久久久777| 精品99在线| 欧美偷窥清纯综合图区| 视频一区视频二区在线观看| 日韩精品一卡| 亚洲成av在线| 日本aⅴ亚洲精品中文乱码| re久久精品视频| 四虎4545www国产精品 | 日本免费一区二区三区四区| 国产日韩高清一区二区三区在线| 国产精品亚洲综合久久| 婷婷激情图片久久| 国产精品99一区二区| 欧洲av不卡| 久久久久伊人| 麻豆视频一区二区| 国产精品啊啊啊| 国产欧美三级| 精品欧美视频| 精品视频自拍| 首页国产精品| 日韩一区二区在线免费| 日韩欧美一区免费| 99热国内精品| 日本大胆欧美人术艺术动态| 亚洲香蕉视频| 国产精品日韩精品中文字幕| 免费亚洲婷婷| 婷婷国产精品| 亚洲综合电影一区二区三区| 男女激情视频一区| 无码日韩精品一区二区免费| 欧美激情91| 一区二区三区四区在线看| 中文字幕日韩亚洲| 久久国产精品色av免费看| 久久精品一区二区国产| 日本黄色精品| 久久福利精品| 国产精成人品2018| 1024精品久久久久久久久| 婷婷综合福利| 日韩在线不卡| 日韩精品福利一区二区三区| 麻豆一区二区在线| 99精品在线观看| 日本视频中文字幕一区二区三区| 成人日韩av| 亚洲精品动态| 91精品婷婷色在线观看| 日韩高清一区| 欧美网站在线| 亚洲影视一区二区三区| 日韩av专区| 国产色99精品9i| 999视频精品| 欧洲毛片在线视频免费观看| 日韩成人综合| 国产欧美日韩一区二区三区四区| 亚洲影视一区| 成人在线黄色| 伊人久久亚洲| 97在线精品| 亚洲美女91| 精品日韩毛片|