下载表格文件

1 请求后台接口

request({
  url: xxx,
  method: 'post',
  responseType: 'blob'
})

注意,此处的 responseType: 'blob' 不要加在 headers 的配置里面

2 前台接收后

axios.post.then(res => {
  console.log(res)
  console.log(typeof res)
  let blob = new Blob([res], { type: 'application/vnd.ms-excel;charset=utf-8'})
  let url = window.URL.createObjectURL(blob)
  let alink = document.createElement('a')
  alink.style.display = 'none'
  alink.href = url
  alink.download = 'xxx.xlsx'  // 配置下载后的名字和后缀格式
  document.body.appendChild(alink)
  alink.click()
  URL.removeObjectRUL(url)
  document.body.removeChild(alink)
})

res对于的内容:

typeof res对于的内容: Object




  • 这是成功后返回的Blob对象格式的内容,在按上面的方法就可以正常解析下载了

  • 错误的情况:这种下载下来的内容,文件损坏不能打开。

  • 这种情况返回的是一个 String 类型的结果。

posted @ 2021-05-06 11:10  坚持g  阅读(131)  评论(0编辑  收藏  举报