话还是不多说上代码
发送一个正常的Axios请求
Axios({
method: "POST",
responseType: 'blob', // 重点是把请求的默认格式responseType:'json'改成responseType: 'blob'。
url: url,
data: data
}).then(res => {
const link = document.createElement('a') // 首先创建一个a标签毕竟下载是要通过a标签来下载的。
let blob = new Blob([res.data], {type: "application/vnd.ms-excel"}) // 第一个参数是后台返回的文件流变量,第二个参数是要转换的类型,由type的值来决定。
link.href = URL.createObjectURL(blob) // 用URL.createObjectURL方法来创建一个URL对象并赋值给a标签的heft属性。
link.download = '社区分布统计表' // 设置文件名字。
link.click() // 触发点击事件,开始下载。
})
想了解Blob对象的同学点击这里
假如这点代码帮到你的话就点个小心心在走把
网友评论