需要加token驗證的接口返回文件流下載


沒有加token之前,下載文件用的是a標簽,直接下載。

 

現在要求是需要在header中加入token。

 1 getDownload(urls, fileName) {
 2             var url = urls;
 3             var xhr = new XMLHttpRequest();
 4             xhr.open("get", url, true);
 5             xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 6             xhr.setRequestHeader("access-token", store.state.token.token);
 7             xhr.send();
 8             xhr.responseType = "blob"; // 返回類型blob
 9             xhr.onload = function() {
10                 if (this.status === 200) {
11                     let a = document.createElement("a");
12                     let blob = new Blob([this.response], {
13                         type: "text/csv;charset=GBK;"
14                     });
15                     let objectUrl = URL.createObjectURL(blob);
16                     a.setAttribute("href", objectUrl);
17                     a.setAttribute("download", fileName + ".csv");
18                     a.click();
19                 } else {
20                     alert("出現了未知的錯誤!");
21                 }
22             };
23         },

如圖所示,最后解決


免責聲明!

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



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