当前位置:   article > 正文

ajax请求文件流下载_axios xsrfheadername: 'authorization

axios xsrfheadername: 'authorization
  1. function exportFun (target, url, name) {
  2.   axios({
  3.     method:'POST',
  4.     url: url,
  5.     data: target.query,//请求数据
  6.     responseType: 'blob',//响应类型
  7. getResponse: true, // 获取整个 response对象
  8.     xsrfHeaderName: 'Authorization',
  9.     headers: {
  10.       'Content-Type': 'application/json',
  11.       'Authorization': getToken(),
  12.       'lang' : InitLanguage()
  13.     },
  14.   }).then(res=> {
  15.     //let blob = new Blob([res.data], {
  16.     //  type: 'application/vnd.ms-excel' //文件格式对应文件后缀xls(比如xlsx/dotx等)
  17.     // })
  18. const blob = res.data
  19. // res.data 此时应该是一个blob
  20.     let url = window.URL.createObjectURL(blob)
  21. const filename = window.decodeURIComponent(res.response.headers.get('Content-disposition').split('filename=')[1]) // 获取文件名
  22.     let link = document.createElement('a')
  23.     link.style.display = 'none'
  24.     link.href = url
  25. link.download = filename
  26.     document.body.appendChild(link)
  27.     link.click()
  28.   }).catch(error => {
  29.     this.$notify.error({
  30.       title: '错误',
  31.       message: error.message,
  32.     })
  33.   })
  34. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/283557
推荐阅读
相关标签
  

闽ICP备14008679号