前端导出文件

// 导出字典数据- 业务数据 api/report/exportDataIncrementStatisticsData
export function exportDataIncrementStatisticsData (query) {
  return request({
    url: baseUrl + '/report/exportDataIncrementStatisticsData',
    method: 'post',
    data: query,
    responseType: 'blob' //定义返回类型
  })
}

// 导出文件 文件名由后端定义 res为文件流 
export const fileExport = (res) => {
  // 从返回头拿文件名
  let fileName = res.headers['content-disposition']
  if (fileName) {
    fileName = decodeURI(fileName.split('filename=')[1])
  }
  // 下载文件
  const blob = new Blob([res.data], {
    ContentType: 'application/octet-stream;charset=uft-8;'
  })
  const downloadUrl = window.URL.createObjectURL(blob)
  const link = document.createElement('a')
  link.href = downloadUrl
  link.download = fileName || '下载文件.xls'
  document.body.appendChild(link)
  link.click()
  link.remove()
  window.URL.revokeObjectURL(downloadUrl)
}

// 通过文件URL下载
export const downloadWithUrl = (url, fileName, isBlank, isDownload) => {
  const a = document.createElement('a');
  const fName = fileName || url.replace(/^.*\//, '');

  a.setAttribute('href', url);
  if (isDownload) a.setAttribute('download', fName);
  if (isBlank) a.setAttribute('target', '_blank');
  a.style.setProperty('display', 'none');
  document.body.appendChild(a);
  a.click();
  a.remove();
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值