前端文件流下载
后台返回文件流,前端获取文件流下载
downLoad (url) {
this.$axios.post(url, {
//返回后台的参数数据
},{responseType:'blob'}).then(data=>{
if(data){
const blob = data.data;//获取文件流
let link = document.createElement("a");
link.href = URL.createObjectURL( new Blob([blob], { type: data.request.response.type }) );
// data.request.response.type 获取文件格式
link.download = JSON.parse(data.config.data).originalname;//获取文件名字
document.body.appendChild(link);
link.click();
URL.revokeObjectURL(link.href);
}
}).catch(error => {
console.error(error)
});
}
注:responseType:‘blob’ 请求地址中没有会乱码