这里写自定义目录标题
前端下载文件,后端返回流的形式。
1.封装方法
downloadFlexFlow(farmId, fileName) { // 传入id,下载文件时候的名称
let url;
if (process.env.NODE_ENV === "development") { // 判断是否本地启动(你可以不要)
url = "/est";
} else {
url = "";
}
Axios({
url: url + '/livestock/calfInfoExport/exportCalvingRecords', //请求路径
responseType: "blob", //表明返回服务器返回的数据类型
method: "post", //请求方式
headers: {
Authorization: 'Bearer ' + localStorage.getItem('token') // 项目之后的token
},
data: {
farmId: farmId
}, //请求需要传的参数
}).then((res) => { //请求成功之后
//创建一个隐藏的a链接
const link = document.createElement("a"); // 创建a标签
let blob = new Blob([res.data], { type: "application/vnd.ms-excel" }); //文件流处理
link.style.display = "none"; //去除a标签的样式
// 设置连接
link.href = URL.createObjectURL(blob);
link.download = fileName;
document.body.appendChild(link);
//模拟点击事件
link.click();
//移除创建的a标签
window.URL.revokeObjectURL(link.href);
document.body.removeChild(link);
this.$message({
type: 'success',
message: '导出' + fileName + '成功!',
})
}).catch(err => {
this.$message({
type: 'error',
message: '导出' + fileName + '失败!',
})
});
}