一、应用 axios 下载文件
1、创立一个对象,用于配置接口信息
let myObj={
url: process.env.VUE_APP_BASE_API + api/studentList',
method: 'get',
fileName: 'studengListFile',
params:{接口的 params 参数}
}
2、封装一个 axios 下载文件的办法
exportMethod(data) {
axios({
method: data.method,
url: `${data.url}`,
responseType: 'blob',
params:data.params?data.params:null
}).then((res) => {if(res.data.type=='application/octet-stream'){const link = document.createElement('a')
let blob = new Blob([res.data], {type: 'application/vnd.ms-excel'})
link.style.display = 'none'
link.href = URL.createObjectURL(blob)
link.download = data.fileName // 下载的文件名
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
return;
}
var reader=new FileReader()
reader.onload=e=>{let res=JSON.parse(e.target.result);
let error_html="<p><div>"+(i18n.tc(res.key) || 'Error');
error_html+="</div></p>";
let msg= Message({
dangerouslyUseHTMLString:true,
message: error_html,
type: 'error',
duration: 5 * 1000
})
}
reader.readAsText(res.data)
}).catch(error => {console.log('接口调用失败:',error)
})
}
3、调用办法,并传入后面配置的接口对象
exportMethod(myObj)
二、PUT 申请 params 传参蕴含数组的解决方法
先写代码了,今天持续