项目场景:
要做一个导出报告的功能。
前台传参带数据,后台接收处理,把选择的文件打成zip压缩包,再下载到本地。
问题描述:
后台处理到是很好完成。关键在返回数据 和前台接收的时候有点小坑。不太熟悉。记录一下前端和后台的模板。
一、前端
1.vue界面调用导出按钮的方法:
import {
exportReport } from "@/api/***/***";
export default {
/*********/
methods: {
exportProjectReport() {
/*********/
let params = {
传参};
exportReport(params);
/*********/
}
}
/*********/
}
2.调用api接口的JS文件:
import {
getToken } from '@/utils/auth'
import axios from 'axios'
// 导出项目报告
export function exportReport(data) {
let baseUrl = process.env.VUE_APP_BASE_API
axios({
method: 'post',
//后台接口,记得拼接前缀
url: baseUrl + '/***/***',
data: data,
responseType: 'blob',
//看自己项目是否后台带token验证
headers: {
'Authorization'