原生js實現文件下載並設置請求頭header
const token="自行定義";//若是有
/**
* 向指定路徑發送下載請求
* @param{String} url 請求路徑
*/
function downLoadByUrl(url){
var xhr = new XMLHttpRequest();
//GET請求,請求路徑url,async(是否異步)
xhr.open('GET', url, true);
//設置請求頭參數的方式,若是沒有可忽略此行代碼
// xhr.setRequestHeader("token", token);
//設置響應類型爲 blob
xhr.responseType = 'blob';
//關鍵部分
xhr.onload = function (e) {
//若是請求執行成功
if (this.status == 200) {
var blob = this.response;
var filename = "我是文件名.xxx";//如123.xls
var a = document.createElement('a');
blob.type = "application/octet-stream";
//創鍵臨時url對象
var url = URL.createObjectURL(blob);
a.href = url;
a.download=filename;
a.click();
//釋放以前建立的URL對象
window.URL.revokeObjectURL(url);
}
};
//發送請求
xhr.send();
}