前端文件下载

主要是先通过请求获取文件的blob,然后触发a标签的点击事件来下载

前端请求接口设置文件下载的接受类型限制

export function downloadApiCenterTree(){
  return request({
    url: '/knowledge-server/api/knows/tree/exportTemplate',
    method: 'get',
    responseType:'blob'
  })
}

页面上标签 <a :href="href" download="example.xlsx" ref="downloadFile" style="height:0px;"></a>

文件下载接口请求后,

const href=ref()//a链接接口地址
const downloadFile=ref()//aDom元素
getExcelModelApi().then(res=>{
    let url = window.URL.createObjectURL(new Blob([res.data]))
    href.value = url
    nextTick(() => {
      downloadFile.value.click()
    })
  })

window.URL.createObjectURL是 JavaScript 中的一个方法,可以将一个本地文件或者一个 Blob 对象转换成一个可供网页使用的 URL。这个方法可以用来显示本地文件或者 Blob 对象,例如图片或者音频。使用时需要传入一个本地文件或者 Blob 对象作为参数。

使用完 URL 对象后,应该调用 window.URL.revokeObjectURL 函数来释放资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值