js实现下载blob对象

请求接口

async exportFn() {
  await api.xxxx({})
   .then(res => {
     let blob = new Blob([res.file], { type: res.file.type })
     downloadFileByBlob(blob, `文件-${moment().format('YYYYMMDD')}.xlsx`)
     message.success('导出成功')
   }).catch(err => err)
 },

下载方法

// blob转文件并下载
downloadFileByBlob(blob, fileName = "file") {
  let blobUrl = window.URL.createObjectURL(blob)
  let link = document.createElement('a')
  link.download = fileName || 'defaultName'
  link.style.display = 'none'
  link.href = blobUrl
  // 触发点击
  document.body.appendChild(link)
  link.click()
  // 移除
  document.body.removeChild(link)
}

// 调用
downloadFileByBlob(res.data, '活动策略数据表.xlsx')

你可能感兴趣的:(前端,#,VUE,javascript,html,html5)