原生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();
}


免責聲明!

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



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