后端返回的二进制文件如何导出

2019-09-11

这里采用的axios 进行的封装 return axios({

method: 'post',

  url: options.url,

  headers: {

    'content-type': 'application/json',

客户端希望接受的数据类型 office 所有后缀对应的content-type

https://www.cnblogs.com/diandianquanquan/p/10607053.html

    Accept: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'

  },

二进制数据的 JavaScript ArrayBuffer

responseType: 'arraybuffer',

  data: options.params

参数

}).then(function (res) {

  if (res) {

将文件读取成url

const url = window.URL.createObjectURL(
    **这儿有一个坑 post请求 有写成 res.data  get 请求 直接是res**

      new Blob([res.data], {

        type: 'application/vnd.ms-excel'

      })

    )

    const link = document.createElement('a')

    link.href = url

    link.setAttribute('download', options.text + '.xls')

    document.body.appendChild(link)

    link.click()

    Message({

      message: '导出成功',

      type: 'success',

      duration: 3000

    })

  } else {

    Message({

      message: '导出失败',

      type: 'error',

      duration: 3000

    })

  }

})
原文链接:segmentfault.com

上一篇:GitHub 上能挖矿的神仙技巧 - 如何发现优秀开源项目
下一篇:JavaScript漫谈之深入理解变量
相关教程
关注微信

扫码加入 JavaScript 社区

相关文章

首次访问,需要验证
微信扫码,关注即可
(仅需验证一次)

欢迎加入 JavaScript 社区

号内回复关键字:

回到顶部