解决关于前端Vue接收后端easyExcel导出接口传过来的文件流,无法获取请求头Content-Disposition信息,即无法从文件流中获取导出文件名
后端代码需要注意的地方前端处理代码
后端代码需要注意的地方
后端需要暴露请求头,这样前端才能拦截到响应的请求头信息
//暴露请求头,并且将文件名设置到请求头中 response.setHeader("Access-Control-Expose-Headers", "Content-disposition");
前端处理代码
var blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }) const contentDisposition = res.headers['content-disposition'] alert("content-disposition" + contentDisposition) // 此处拿到后端请求头中的信息 var fileName = 'test' if (contentDisposition) { // 切割获取后端文件流中的请求头信息 fileName = window.decodeURI(res.headers['content-disposition'].split('=')[1], 'UTF-8') }`在这里插入代码片`