文件下载相关

本文介绍如何通过Blob数据处理下载文件,包括设置responseType、解析content-disposition获取文件名,以及处理本地静态资源打包问题。重点在于URL.createObjectURL的使用和下载策略调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Blob数据下载:

1、返回数据类型(responseType:'blob')

2、读取请求返回的头部信息里的content-disposition,返回的文件名在这里面,(如果不需要此文件名,则可跳过此步骤)

3、使用URL.createObjectURL将请求的blob数据转为可下载的url地址

4、使用a标签下载

let blob = res.data 或者

let blob = new Blob([res.data],{type:"application/vnd.ms-excel"})

let fileName = decodeURL(res.headers['content-disposition']) 在此可利用正则进一步拆分

//将请求的blob数据转为可下载的url地址

let url = URL.createObjectURL(blob)

let aLink = document.createElement('a')

aLink.href = url

//定义文件名

aLink.setAttribute('download',fileName)

document.body.appendChild(aLink)

//模拟点击下载

aLink.click()

//释放URL对象

URL.revokeObjectURL(aLink.href)

//移除下载标签

document.body.removeChild(aLink)

下载本地静态资源:

注意:静态资源若放到src下面的assets文件夹下,下载会报错(找不到文件路径)

相关原因:打包的时候并不知会把assets下的文件打包在哪里,但是在build的时候发现在根目录下的文件的打包在当前路径下的,所以把要下载 的静态资源放在public文件夹下面就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值