位置: IT常识 - 正文

【vue】vue中下载文件的方法(vue下载安装)

编辑:rootadmin
【vue】vue中下载文件的方法 文章目录1. 下载后端返回文件1.1 后端为post请求返回二进制流文件URL.createObjectURLFileReader1.2 后端直接返回get请求文件2. 下载本地文件1. 下载后端返回文件1.1 后端为post请求返回二进制流文件

推荐整理分享【vue】vue中下载文件的方法(vue下载安装),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue 下载功能,vue下载方法,vue下载安装,vue下载方法,vue下载方法,vue 下载,vue 下载,vue 下载,内容如对您有帮助,希望把文章链接给更多的朋友!

Blob

Blob对象标识一个不可变、原始数据的类文件对象。Blob表示的不一定是JavaScript原生格式的数据

responseType

responseType它表示服务器响应的数据类型,由于后台返回来的是二进制数据,所以要把它设为‘blob’

【vue】vue中下载文件的方法(vue下载安装)

通过设置responseType为blob,可以直接拿到二进制文件转化为Blob,两种使用 Blob 实现文件下载的方式

URL.createObjectURL

在浏览器端,实现直接下载文件,就是使用a标签来只想文件的下载地址。window.location.href的本质也是这样,因此在拿到二进制文件对应的Blob对象后,需要为这个Blob对象创建一个指向它的下载地址的URL

URL.createObjectURL 方法则可以实现接收 File 或 Blob 对象,创建一个 DOMString,包含了对应的 URL,指向 Blob 或 File 对象,它看起来会是这样:

“blob:http://localhost:8080/a48aa254-866e-4c66-ba79-ae71cf5c1cb3”

完整使用:

export const downloadFile = (fileStream, name, extension, type = "") => { const blob = new Blob([fileStream], {type}); const fileName = `${name}.${extension}`; if ("download" in document.createElement("a")) { const elink = document.createElement("a"); elink.download = fileName; elink.style.display = "none"; elink.href = URL.createObjectURL(blob); document.body.appendChild(elink); elink.click(); URL.revokeObjectURL(elink.href); document.body.removeChild(elink); } else { navigator.msSaveBlob(blob, fileName); }};FileReader

FileReader 对象也可以使得我们对 Blob 对象生成一个下载地址 URL,它和 URL.createObject 一样可以接收 File 或 Blob 对象。 这个过程,主要由两个函数完成readAsDataURL和onload,前者用于将Blob或File对象转为对应的URL,后者用于接收前者完成后的URL,它会在e.target.result上 完整使用:

const readBlob2Url = (blob, type) =>{ return new Promise(resolve => { const reader = new FileReader() reader.onload = (e) => { resolve(e.target.result) } reader.readAsDataURL(blob) })}1.2 后端直接返回get请求文件

<a href=‘get请求返回的地址’></a>

2. 下载本地文件

前端项目中下载某个地址的文件模块,文件不想放到后端去下载,在文件大小不太大的情况下,可以把文件放在前端项目中,无论开发环境还是生产环境,都能在同样路径下找到那个文件 1.在vue-cli3.x的版本中,将需要下载的文件放到public文件夹中 2.下载文件

<script>downloadUrl: `${process.env.BASE_URL}file/xxx_template.xlsx`, // 模板下载文件地址</script><template><a :href="downloadUrl">点击下载</a></template>

参考: 详解,从后端导出文件到前端(Blob)下载过程

本文链接地址:https://www.jiuchutong.com/zhishi/288760.html 转载请保留说明!

上一篇:使用c++onnxruntime部署yolov5模型并使用CUDA加速(超详细)(使用二氧化碳灭火器时人应该站在什么位置)

下一篇:YOLO_V8训练自己的数据集(yolov8训练自己的数据)

  • 设计印刷合同
  • 税控盘为什么要年年交服务费
  • 持有待售流动资产如果说以历史成本计量的时候怎么弄
  • 社保缴费回单怎么查
  • 税金及附加包括什么
  • 企业的两金是哪两金
  • 采购办公用品计入什么科目
  • 公司购买销售材料怎么写会计分录?
  • 携程电子发票可以发到QQ邮箱吗
  • 开发票时怎么修改税收分类简称?
  • 收到个税手续费返还现金流量表
  • 应收账款负数可以调到哪个科目
  • 废料出售收入
  • 没有税务登记证
  • windows11怎么设置默认应用
  • mac怎么还原出厂设置
  • 此 google 帐号尚未与设备关联
  • 单位补扣社保如何操作
  • 限额领料单一般一式几联
  • 公司备用金申请单
  • 三防手机厂商
  • php readfile
  • phpexcel读取excel
  • 隐隐作痛怎么写
  • 应收账款余额在借方表示谁欠谁
  • vuecli打包项目
  • 非常好看的头像
  • three.js如何给模型锚点
  • win10本地模式
  • html在线小游戏
  • 如何用css设置图片大小
  • man-s命令
  • tsar命令 收集服务器系统信息
  • 土地增值税的扣除项目金额怎么算
  • 使用spring可以实现声明式事务吗
  • 应付职工薪酬总账和明细账
  • 企业的应交税金一般通过什么科目核算
  • php压缩文件怎么打开
  • 房地产企业土地使用税纳税义务终止
  • 对公账户往来款需要归还吗
  • mysql select语句操作实例
  • 公司支付款项制度
  • 公司分期付款购车怎么做账
  • 内含报酬率的计算公式Npv
  • 航空货运票据可以抵扣吗
  • 定期定额户超过9万如何交个税
  • 捐赠支出税前扣除标准
  • 清算中的企业能恢复吗
  • 税盘进项税额怎么做
  • 收到上个月退税会计分录
  • 库存商品调价会计分录
  • 分支机构可不可以不建账合并到总机构?
  • 加强备案管理
  • 公司缴纳社保如何转为个人缴纳
  • 其他应收款平行记账科目
  • windows没有无线网络
  • 两台苹果怎么用电脑把数据同步
  • windows取消定时任务
  • centos怎么样
  • windows保护电脑
  • win7原始账号和密码
  • win7定时关机没反应
  • 无需u盘安装系统
  • xp系统部分乱码解决
  • windows1021h2更新
  • linux端口流量监控
  • Win10 Mobile 10586.36在Lumia640 XL中的体验 很流畅
  • 打开应用通知栏
  • unity3d ngui-TweenRotation翻牌动画
  • firefox margin-top失效的原因与解决办法
  • 10个常用linux指令
  • 批处理改ipv4地址
  • Javascript 字符串拼接
  • js倒计时秒杀
  • jquery简单吗
  • 上海税务网上报税
  • 签订税务三方协议
  • 公共暖气管道维修费用由谁承担
  • 八戒财税兼职
  • 残疾人就业年审经办人
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设