美文网首页
下载文件/携带token值

下载文件/携带token值

作者: 小北酱丶 | 来源:发表于2019-04-16 10:25 被阅读0次

HTML

<button type='button' class='btnClass l20' @click="downloadTemplateTea">下载模板</button>
<input type="file" @change="toDownloadTea" class="toInput" multiple id="fileWjTeach" style='display: none' />

JS

//下载文件
var download = function(options){
    var defaults = {
        method: "GET",
        url: "",
        fileName: "",
        param: []
    };
    var options = $.extend(defaults, options);
    if (options.url && options.param) {
        let xhr = new XMLHttpRequest();
        let a = document.createElement('a'); // 转换完成,创建一个a标签用于下载
        a.download = options.fileName;
        xhr.open('get', options.url, true);
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); // 设置请求头,必须在open后添加
        xhr.setRequestHeader('Authorization', 'BasicAuth ' + token);
        xhr.responseType = 'blob'; // 返回类型blob  blob 存储着大量的二进制数据
        xhr.onload = function () {
            if (this.status === 200) {
                let blob = new Blob([this.response]); // 转成文本存储
                let name = xhr.getResponseHeader('content-disposition');
                let a = document.createElement('a'); // 转换完成,创建一个a标签用于下载
                a.download = '22.zip';
                a.href = window.URL.createObjectURL(blob); // 转成本地连接到blob文本
                //a.click();
                
                var evt = document.createEvent("MouseEvents"); 
                evt.initEvent("click",true,true);  
                a.dispatchEvent(evt); 
            }
        }
        xhr.send(); // 发送ajax请求
    };
}

JS调用

//下载模板
            downloadTemplateTea: function () {
                download({ url: port + 'api/Teacher/DownloadTemplate', fileName: '教师模板.xlsx', method: 'GET' });
            },

相关文章

网友评论

      本文标题:下载文件/携带token值

      本文链接:https://www.haomeiwen.com/subject/xmecwqtx.html