import { ElLoading, ElMessage } from 'element-plus';
import request from "@/api/request";
import { saveAs } from 'file-saver';
// 通用下载方法
let downloadLoadingInstance: any;
export function download(url:string, params:any, filename:string) {
downloadLoadingInstance = ElLoading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", })
return request({
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
method: 'get',
url: url,
responseType: 'blob',
params: params
}).then((data: any) => {
const isBlob = data.type !== 'application/json';
if (isBlob) {
const blob = new Blob([data])
saveAs(blob, filename)
ElMessage({ message: "导出成功", type: 'success' })
}
downloadLoadingInstance.close();
}).catch((r) => {
console.error(r)
ElMessage.error('下载文件出现错误,请联系管理员!')
downloadLoadingInstance.close();
})
}
通用的下载文件方法
于 2023-11-01 14:40:30 首次发布