vue后台返回二进制流文件导出

//导出接口
export function buildingExport() {
  return request({
    url: '/building/excel/export',
    method: 'get',
    responseType: 'blob' //必须要加上,转为blob类型
  })
}

//导出方法
buildingExport().then(response => {
  const content = response //后台返回二进制数据
  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)
  }
});

 

你可能感兴趣的:(Vue,vue.js)