溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在vue中通過a下載exe文件的方法

發(fā)布時間:2021-02-22 16:03:11 來源:億速云 閱讀:1014 作者:清風(fēng) 欄目:開發(fā)技術(shù)

這篇“在vue中通過a下載exe文件的方法”文章,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要參考一下,對于“在vue中通過a下載exe文件的方法”,小編整理了以下知識點(diǎn),請大家跟著小編的步伐一步一步的慢慢理解,接下來就讓我們進(jìn)入主題吧。

Vue的優(yōu)點(diǎn)

Vue具體輕量級框架、簡單易學(xué)、雙向數(shù)據(jù)綁定、組件化、數(shù)據(jù)和結(jié)構(gòu)的分離、虛擬DOM、運(yùn)行速度快等優(yōu)勢,Vue中頁面使用的是局部刷新,不用每次跳轉(zhuǎn)頁面都要請求所有數(shù)據(jù)和dom,可以大大提升訪問速度和用戶體驗(yàn)。

  在vue中通過a下載exe文件方法一:

  注意:如果下載的文件放在本地目錄下,一定要將模板文件放到public目錄下,否則由于權(quán)限問題找不到文件

  路徑:項(xiàng)目更目錄--》public--》tpls--》下載模板.xls

  1.1直接使用a標(biāo)簽+download屬性

<a:href="downUrl"target="_blank":download="downNm">下載{{downTplNm}}模板</a>
  1.2定義文件下載地址和文件名
  methods:{
  type2Obj:function(type){
  switch(type){
  case:'wl':
  this.downTplNm="白名單",
  this.downUrl="../tpls/白名單模板.xls",
  this.downNm="白名單模板.xls"
  }
  }
  }

  在vue中通過a下載exe文件方法二:

  有時候我們需要將文件下載下來而不是直接打開,使用方法一可以實(shí)現(xiàn)部分文件下載,但是圖片或者PDF等類似文件就會直接打開,這是瀏覽器默認(rèn)的行為,有沒有方法阻止這種默認(rèn)的行為,點(diǎn)擊a標(biāo)簽的鏈接執(zhí)行的都是下載行為呢?另外Chrome對跨域下載文件的支持并不友好,這里提供了一個有效的解決方案:

  2.1使用a標(biāo)簽綁定事件

  下載{{downTplNm}}模板</a>

  2.2定義下載方法

  避免CORS問題的一種方法是通過XHR請求獲取文件并將文件作為blob,這里使用了axios,但是你可使用你想要的任何lib

  importAxiosfrom'axios'
  methods:{
  downloadItem(url){
  Axios.get(url,{responseType:'blob'})
  .then(({data})=>{
  //為了簡單起見這里blob的mime類型固定寫死了
  letblob=newBlob([data],{type:'application/vnd.ms-excel'})
  letlink=document.createElement('a')
  link.href=window.URL.createObjectURL(blob)
  link.download=url.split('/').pop()
  link.click()
  .catch(error=>{
  console.error(error)
  })
  })
  }
  }

以上是“在vue中通過a下載exe文件的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

vue
AI