posts - 59,comments - 0,views - 34680

第一种情况:有接口返回的blob文件流,有文件名称,但是没有文件格式的情况下:
详见代码:

点击查看代码
/**
 *下载blob文件
 *@param data blob数据
 *@param filename 文件名
 */
export function downloadFile(data, filename) {
  if (!data) {
    return
  }
  const link = document.createElement('a')
  const blob = new Blob([data], { type: 'application/vnd.ms-excel' })
  link.style.display = 'none'
  link.href = URL.createObjectURL(blob)
  // 指定下载文件的格式
  link.setAttribute('download', filename + '.xls')
  document.body.appendChild(link)
  link.click()
  document.body.removeChild(link)
}

第二种情况:有接口返回的blob文件流,有文件名称,有文件格式的情况下:
详见代码:

点击查看代码
/**
 *下载blob文件
 *@param data blob数据
 *@param filename 文件名自带文件格式
 */
export function downloadFileType(data, filename) {
  if (!data) {
    return
  }
  const link = document.createElement('a')
  const blob = new Blob([data], { type: 'application/vnd.ms-excel' })
  link.style.display = 'none'
  link.href = URL.createObjectURL(blob)
  // 默认的格式下载
  link.setAttribute('download', filename)
  document.body.appendChild(link)
  link.click()
  document.body.removeChild(link)
}

第三种情况:有接口返回的下载文件地址,有文件名称,有文件格式的情况下:
详见代码:

点击查看代码
/**
 *下载文件
 *@param url 下载文件地址
 *@param filename 文件名自带文件格式
 */
export function downUrlFileType(url, filename) {
  if (!url) {
    return
  }
  const link = document.createElement('a')
  link.style.display = 'none'
  link.href = url
  link.setAttribute('download', filename)
  document.body.appendChild(link)
  link.click()
  document.body.removeChild(link)
}
posted on   好久不见-库克  阅读(332)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示