vue+element 下載文件


下載文件,vue請求后台接口,返回的是二進制流,所以前端需要進行一點操作
如果沒用框架,貌似直接將后台接口寫進a標簽href里即可,但是還是需要在請求頭里加上token https://blog.csdn.net/m0_37149617/article/details/100933234 此鏈接是 a標簽下載文件加token

vue用的axios請求

1、 import axios from 'axios' (安裝不贅述)  

2、在導出按鈕點擊事件上
      

batchExport() {
      let url = ""; //請求下載文件的地址
      let token = ; //獲取token
      axios
        .get(url, {
          headers: {
            token: token
          },
          responseType: "blob"
        })
        .then(res => {
          if (!res) return;
          let blob = new Blob([res.data], {
            type: "application/vnd.ms-excel;charset=utf-8"
          });
          let url = window.URL.createObjectURL(blob);
          let aLink = document.createElement("a");
          aLink.style.display = "none";
          aLink.href = url;
          aLink.setAttribute("download", "xxx.xls"); // 下載的文件
          document.body.appendChild(aLink);
          aLink.click();
          document.body.removeChild(aLink);
          window.URL.revokeObjectURL(url);
        })
        .catch(error => {
          this.$message.error(error);
        });
    }

 


免責聲明!

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



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