优秀的编程知识分享平台

网站首页 > 技术文章 正文

原生js实现文件下载并设置请求头header

nanyue 2024-11-06 11:17:51 技术文章 3 ℃

原生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();
}
最近发表
标签列表