VUE中IE瀏覽器下載文件的解決方案

IE瀏覽器無法通過a標籤下載文件

1、 問題

瀏覽器的兼容性問題一直是個令人頭痛的問題,開發的小夥伴應該都比較喜歡用chrome瀏覽器,兼容性比較強大,而就有些問題發生在其他一些瀏覽器上,尤其是IE,今天就記錄一個ie的坑——ie瀏覽器不支持通過a標籤下載文件,作爲一個後端菜鳥,還要去解決這種問題,心裏簡直一萬隻羊駝在奔騰…

2、解決方案

話不多說,直接貼代碼

this.axios.get("/estimate/downResource", {
          params:{
              fileName:fileNm
          },
          responseType: 'blob'
        }).then(response => {
          if (window.navigator.msSaveBlob) {	//IE以及IE內核的瀏覽器
            try {
              window.navigator.msSaveBlob(response, fileNm);	//response爲接口返回數據,這裏請求的時候已經處理了,如果沒處理需要在此之前自行處理var data = new Blob([response.data]) 注意這裏需要是數組形式的,fileNm就是下載之後的文件名
              // window.navigator.msSaveOrOpenBlob(response, fileNm);	//此方法類似上面的方法,區別可自行百度
            }catch (e) {
                console.log(e);
            }
          }
          this.download(response,fileNm)	// chrome、firefox

至此,成功解決IE的下載文件問題
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章