解决关于前端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')}`在这里插入代码片`