位置: 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训练自己的数据)

  • 打开全部历史记录(打开)(打开全部历史记录168页怎么删除)

    打开全部历史记录(打开)(打开全部历史记录168页怎么删除)

  • vivox70pro怎么设置双击亮屏(vivoX70pro怎么设置照相机)

    vivox70pro怎么设置双击亮屏(vivoX70pro怎么设置照相机)

  • 苹果12可以更新15.1系统吗(苹果12可以更新17)

    苹果12可以更新15.1系统吗(苹果12可以更新17)

  • 拼多多评论错了能删除吗(拼多多评论错了怎么撤回评价)

    拼多多评论错了能删除吗(拼多多评论错了怎么撤回评价)

  • 苹果手机微信怎么横屏显示(苹果手机微信怎么开美颜功能设置)

    苹果手机微信怎么横屏显示(苹果手机微信怎么开美颜功能设置)

  • 为什么慢动作会一闪一闪的(为什么慢动作会有声音)

    为什么慢动作会一闪一闪的(为什么慢动作会有声音)

  • 怎样把录音变成本地音乐(怎样把录音变成音频文件)

    怎样把录音变成本地音乐(怎样把录音变成音频文件)

  • 全网通手机可以放两张电信卡吗(全网通手机可以用两张电信卡)

    全网通手机可以放两张电信卡吗(全网通手机可以用两张电信卡)

  • 华为一碰传小米能用吗(华为一碰传小米手机能用吗)

    华为一碰传小米能用吗(华为一碰传小米手机能用吗)

  • 关联qq能看到哪些消息(关联qq能看到哪些信息)

    关联qq能看到哪些消息(关联qq能看到哪些信息)

  • 华为nova2有没有nfc功能(华为nova2支不支持nfc)

    华为nova2有没有nfc功能(华为nova2支不支持nfc)

  • 手机站点安全警告怎么关闭(手机站点安全警示)

    手机站点安全警告怎么关闭(手机站点安全警示)

  • 怎么用手机把照片缩小(怎么用手机把照片做成文件)

    怎么用手机把照片缩小(怎么用手机把照片做成文件)

  • vue怎么弄滚动字幕(vue滚动字幕怎样添加)

    vue怎么弄滚动字幕(vue滚动字幕怎样添加)

  • 苹果拦截电话在哪里查看(苹果拦截电话在哪里)

    苹果拦截电话在哪里查看(苹果拦截电话在哪里)

  • 抖音礼物怎么提现(抖音礼物怎么提现到支付宝)

    抖音礼物怎么提现(抖音礼物怎么提现到支付宝)

  • 抖音怎么全屏无字截图(抖音怎么全屏无遮挡看图片)

    抖音怎么全屏无字截图(抖音怎么全屏无遮挡看图片)

  • 电脑qq发不出去文件(电脑qq发不出去消息怎么回事)

    电脑qq发不出去文件(电脑qq发不出去消息怎么回事)

  • 如何在直播间放电影(如何在直播间放视频)

    如何在直播间放电影(如何在直播间放视频)

  • 手机机身弯曲了怎么办(手机机身弯曲了如何修复)

    手机机身弯曲了怎么办(手机机身弯曲了如何修复)

  • wifi如何网上缴费(怎么交wife网费)

    wifi如何网上缴费(怎么交wife网费)

  • 流量与带宽的区别与联系(网络流量和网络带宽)

    流量与带宽的区别与联系(网络流量和网络带宽)

  • Dedecms织梦利用memberlist标签调用自定义模型中会员(织梦使用教程)

    Dedecms织梦利用memberlist标签调用自定义模型中会员(织梦使用教程)

  • 特定减免税货物的通关程序为
  • 个人所得税核定征收税率是多少
  • 增值税一般纳税人税率
  • 结转固定资产清理的会计科目
  • 取得交易性金融资产投资收益为什么在借方
  • 公司自有房产自用要交房产税吗
  • 怎么在电子税务局添加银行账户
  • 甲是乙公司依法设立的分公司
  • 一季度计提的所得税分录
  • 购买的二手车可以抵扣进项税额吗
  • 下岗职工可以享受低保吗
  • 工程收到奖励款怎么账务处理?
  • 收到去年的成本发票
  • 收到跨年的票据怎么做账
  • 购入的固定资产
  • 银行缴纳印花税贷款方面哪些可以减免
  • 补交以前年度增值税和滞纳金怎么开票
  • 资产总额季初和季末
  • 变更公司财务人员,需要本人去吗
  • 购设备发票只开来一部分怎么入账?
  • 房地产企业的非流动资产周转率在多少以上
  • 股东以个人名义签订租赁合同
  • 垃圾清运工程师
  • 城建税的会计分录是什么
  • UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
  • 人工智能导论报告
  • 以商业汇票抵付应付账款会计分录
  • 良心推荐博主
  • 分手我不怕
  • 通用数据库软件
  • 峡谷的人
  • 可视化大屏技术
  • netbeans ide 8.1
  • 不跳槽怎么形容
  • mysql分区语句
  • 存量资金上缴财政款 预算会计
  • 一般户需要做账报税吗
  • 运费已付发票未到会计分录
  • phpcms不支持https怎么办
  • 固定资产清理怎么报税呢
  • mongodb数据删除
  • 利息收入所得税汇算调整
  • 自然人独资公司可以变更法人吗
  • 企业付美金外汇要交税吗
  • 个税申报表中的年金是什么意思?
  • 分公司财务负责人要求
  • 小规模纳税人税控盘怎么抵税
  • 收到提供劳务的收入
  • 企业购买理财产品收益要交税吗
  • 运输公司内账会计每天需要做什么
  • 水电费的收据单怎么写
  • 生产成本如何做核算
  • 银行存款利息应计入
  • 诉讼费给开发票吗
  • 营业外支出罚没支出包括
  • 工程项目必须购买保险吗
  • 农业企业纳税申报
  • mysql官方监控工具
  • sqlserver数据库显示单个用户
  • sqlserver远程连接设置
  • 安装好sql2000后安装sp4
  • win8怎么锁定屏幕
  • linux的ntp服务
  • 无光驱无u盘重装系统
  • macbook imessage
  • 如何知道自己的邮箱号
  • linux系统添加用户的命令
  • linux操作系统添加用户
  • 安装win7系统后无法引导启动
  • win8打开蓝牙设置
  • win10安装软件点击没反应
  • cocos2dx AudioEngine初体验,音效播放结束判断测试
  • perl语句
  • jqury选择器
  • 动态效果怎么设置
  • Python selenium 三种等待方式详解(必会)
  • android布局有哪些,它们的作用分别是?
  • 在linux安装python
  • 车辆购置税查询官网四川
  • 个人所得税工资扣税标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设