axios请求:
import axios from 'axios'
import store from '@/store'
import { getToken } from "@/utils/auth";
let downLoadAxios = axios.create({
timeout: 12000000,
responseType: 'blob',
baseURL: ''
});
export function downloadF1(param, action) {
let tokn;
if (store.getters.token) {
tokn = getToken();
}
return downLoadAxios.post(
action,
param,
{headers: {'Authorization': 'Bearer '+ tokn}}
);
}
import Cookies from 'js-cookie';
const TokenKey = 'Admin-Token';
export function getToken() {
return Cookies.get(TokenKey);
}
js:
downloadFile() {
this.loadingDownload = true
let action =cprocess.env.VUE_APP_BASE_API + "/exportTemplate" // 接口url
downloadF1(new Object(), action).then((rest) => {
const fileName = decodeURI(rest.headers['content-disposition'].split('=')[1]);
triggerDownload(rest.data, fileName.replace(new RegExp('"', 'g'), '')); // 下载后文件前后多出下划线处理
this.loadingDownload = false
})
},
html:
<el-button class="" type="primary" size="small" @click="downloadFile" :loading="loadingDownload">下载模板</el-button>