vue 二进制流文件导出、下载,兼容IE


this.$ajax({                 method: 'GET',                 url: '你的url',                 headers: {                     'Authorization': tokenUtil.getToken(), // 我的token                     'Content-Type': "application/json;charset=utf-8"                 },                 responseType: 'blob',  // 很重要                 params: params // 请求入参             })             .then(res =>{                 // console.log(res)                 let headersName = '';                 if(res.headers['content-disposition']) {                     headersName = res.headers['content-disposition'].split('=')[1];                 }                  else {                     headersName = '文件名称';                 }                 let fileName = decodeURI(headersName);                 let blob = new Blob([res.data], {type: 'application/vnd.ms-excel'});  // 注意你的文件类型,我的是excel,需要什么类型文件,对应修改即可                 // IE兼容                 if (window.navigator.msSaveOrOpenBlob) {                     window.navigator.msSaveOrOpenBlob(blob, fileName);             } else {                     var a = document.createElement('a');                     a.download = fileName;                     a.href = URL.createObjectURL(blob);                     a.setAttribute("id", "export");                     document.getElementById("platform").append(a); // 修复firefox中无法触发click, platform 为我本页div 的id, 此处可直接用document.body                     a.click();                     document.getElementById("export").remove();                 }                 this.loading = false;             })             .catch(err =>{                 this.loading = false;             })
vue