Vue.js文件下载实现

谁说胖子不能爱 提交于 2020-08-14 09:04:19
export function export(params = {}) {
  return request({
    url: '/export',
    method: 'post',
    data: params,
    responseType: 'blob'//此处需为blob类型
  })
}
exportClick () {
      export().then(res => {
        const content = res//后端通过response.getOutputStream.write(byte[])方法写入文件内容,返回到res中
        const blob = new Blob([content])
        const fileName = '导出信息.xlsx'
        if ('download' in document.createElement('a')) { // 非IE下载
          const elink = document.createElement('a')
          elink.download = fileName
          elink.style.display = 'none'//可省略
          elink.href = URL.createObjectURL(blob)
          document.body.appendChild(elink)//可省略
          elink.click()
          URL.revokeObjectURL(elink.href) // 释放URL 对象
          document.body.removeChild(elink)//可省略
        } else { // IE10+下载
          navigator.msSaveBlob(blob, fileName)
        }
      })
    }
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!