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' });
},
网友评论