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

前往低代码交流专区

更多推荐