本篇內(nèi)容主要講解“javascript如何實(shí)現(xiàn)下載功能”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“javascript如何實(shí)現(xiàn)下載功能”吧!
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站建設(shè)、拉薩網(wǎng)絡(luò)推廣、重慶小程序開發(fā)公司、拉薩網(wǎng)絡(luò)營銷、拉薩企業(yè)策劃、拉薩品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供拉薩建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
javascript實(shí)現(xiàn)下載功能的方法:1、通過a標(biāo)簽實(shí)現(xiàn)下載;2、通過“window.open”方法實(shí)現(xiàn)下載;3、通過“l(fā)ocation.href”方法實(shí)現(xiàn)下載;4、通過文件流轉(zhuǎn)blob對象實(shí)現(xiàn)下載功能。
js實(shí)現(xiàn)文件下載功能
一、a標(biāo)簽下載
優(yōu)點(diǎn):
可以直接下載txt、png、pdf、exe、xlsx等類型文件
缺點(diǎn):
a標(biāo)簽只能做get請求,所以url有長度限制
無法獲取下載進(jìn)度
跨域限制
無法在header中攜帶token做鑒權(quán)操作
無法判斷接口是否成功
IE兼容問題
二、window.open下載
優(yōu)點(diǎn):
簡單方便
缺點(diǎn):
會(huì)出現(xiàn)URL長度限制問題
需要注意url編碼問題
無法獲取下載進(jìn)度
無法在header中攜帶token做鑒權(quán)操作
無法判斷接口是否成功
無法直接下載瀏覽器可直接預(yù)覽的文件類型(txt、png、pdf會(huì)直接預(yù)覽)
三、location.href 下載
優(yōu)點(diǎn)
簡單方便直接
可以下載大文件(G以上)
缺點(diǎn)
會(huì)出現(xiàn)URL長度限制問題
需要注意url編碼問題
無法獲取下載進(jìn)度
無法在header中攜帶token做鑒權(quán)操作
無法直接下載瀏覽器可直接預(yù)覽的文件類型(txt、png、pdf會(huì)直接預(yù)覽)
無法判斷接口是否返回成功
三、文件流轉(zhuǎn)blob對象下載
優(yōu)點(diǎn):
可以下載txt、png、pdf等類型文件
可以在header中攜帶token做鑒權(quán)操作
可以獲取文件下載進(jìn)度
可以判斷接口是否返回成功
缺點(diǎn):
兼容性問題,IE10以下不可用,注意Safari瀏覽器,官網(wǎng)給出 Safari has a serious issue with blobs that are of the type application/octet-stream
將后端返回的文件流全部獲取后才會(huì)下載
到此,相信大家對“javascript如何實(shí)現(xiàn)下載功能”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!