dtshorg / dtsh

This is a web application for low-carbon living
0 stars 0 forks source link

【已解决】版本22开发过程中碰到的问题 #6

Open CitrusTrail opened 3 months ago

CitrusTrail commented 3 months ago

使用easyexcel实现导出excel的功能。用postman测试后端接口可以正常下载文件。但在前端调用接口后没有任何反应,文件没能下载下来。

CitrusTrail commented 3 months ago

查了好多博客,终于解决了。就是前端的问题。 (1)axios发出请求时要配置responseType: 'blob' (2)axios的响应拦截器要配置:

const url = window.URL.createObjectURL(new Blob([response.data], { type: 'multipary/vnd.ms-excel' }))
const link = document.createElement('a')
link.href = url
link.setAttribute('download',"文件名.xlsx")
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
window.URL.revokeObjectURL(url)

相当于要手动点一下文件链接,才能下载文件