下载xls文件:
downloadFile.js
export let downloadFile = function (res, filename) { // 将blob对象转为一个URL let blobURL = window.URL.createObjectURL(res) // 创建一个a标签 let tempLink = document.createElement('a') // 隐藏a标签 tempLink.style.display = 'none' // 设置a标签的href属性为blob对象转化的URL tempLink.href = blobURL // 给a标签添加下载属性 decodeURI 解码 tempLink.setAttribute('download', decodeURI(filename)) if (typeof tempLink.download === 'undefined') { tempLink.setAttribute('target', '_blank') } // 将a标签添加到body当中 document.body.appendChild(tempLink) // 启动下载 tempLink.click() // 下载完毕删除a标签 document.body.removeChild(tempLink) window.URL.revokeObjectURL(blobURL) }
import { downloadFile } from "@/utils/downloadFile";
<el-button @click="exportFile">下载文件</el-button>
methords:{
exportFile(){
personWycExport(参数).then((res) => {
downloadFile(res,'名称');
});
}
}
下载word文档:
downloadFile.js
export function downloadWord(data, fileName, fileSuffix) { let fileTypeMime = '' // 文件 mime 类型,移动端必传,否则下载不成功;pc端可传可不传 switch (fileSuffix) { // 获取后缀对应的 mime case 'png': fileTypeMime = 'image/png'; break; case 'doc': fileTypeMime = 'application/msword'; break; case 'docx': fileTypeMime = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'; break; case 'jpg': case 'jpeg': fileTypeMime = 'image/jpeg'; break; case 'gif': fileTypeMime = 'image/gif'; break; case 'svg': fileTypeMime = 'image/svg+xml'; break; case 'tif': case 'tiff': fileTypeMime = 'image/tiff'; break; case 'txt': fileTypeMime = 'text/plain'; break; case 'ppt': fileTypeMime = 'application/vnd.ms-powerpoint'; break; case 'pptx': fileTypeMime = 'application/vnd.openxmlformats-officedocument.presentationml.presentation'; break; case 'xls': fileTypeMime = 'application/vnd.ms-excel'; break; case 'xlsx': fileTypeMime = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; break; case 'zip': fileTypeMime = 'application/zip'; break; case '7z': fileTypeMime = 'application/x-7z-compressed'; break; } let blob = window.URL.createObjectURL(new Blob([data], { 'type': fileTypeMime })) let link = document.createElement('a') link.style.display = 'none' link.href = blob link.setAttribute('download', fileName + fileSuffix) document.body.appendChild(link) link.click() document.body.removeChild(link) //下载完成移除元素 window.URL.revokeObjectURL(blob) //释放掉 blob 对象 }
import { downloadFile } from "@/utils/downloadFile";
<el-button @click="exportFile">下载文件</el-button>
methords:{
exportFile(){
personWycExport(参数).then((res) => {
downloadWord(res, "名称", ".docx");
});
}
}