前端通用下載文件方法(兼容IE)


之前在網上看到一個博主寫的前端通用的下載文件的方法,個人覺得很實用,所以mark一下,方便以后查閱

源文地址(源文還有上傳/下載excel文件方法)

因為項目要求要兼容IE瀏覽器,所以完善了一下之前博主的方法

  • IE 瀏覽器:使用微軟自帶的msSaveBlob 方法,a標簽的download屬性不支持IE
  • 谷歌瀏覽器(只測試過谷歌):創建a標簽 ,添加download屬性,模擬鼠標點擊事件

  

 

//這里res.data是返回的blob對象
        var blob = new Blob([res.data.fileData], {type: 'application/json;charset=utf-8'}); //application/vnd.openxmlformats-officedocument.wordprocessingml.document這里表示doc類型
        var href = window.URL.createObjectURL(blob); //創建下載的鏈接
        if (window.navigator.msSaveBlob) {
          try {
            window.navigator.msSaveBlob(blob, 'model.json')
          } catch (e) {
            console.log(e);
          }
        } else {
          // 谷歌瀏覽器 創建a標簽 添加download屬性下載
          var downloadElement = document.createElement('a');
          downloadElement.href = href;
          downloadElement.target = '_blank';
          downloadElement.download = 'model.json'; //下載后文件名
          document.body.appendChild(downloadElement);
          downloadElement.click(); //點擊下載
          document.body.removeChild(downloadElement); //下載完成移除元素
          window.URL.revokeObjectURL(href); //釋放掉blob對象
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM