原生js實現文件下載並設置請求頭header

原生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();
}
相關文章
相關標籤/搜索