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

  • 荣耀X30max怎么隐藏应用(荣耀x30max怎么隐藏应用图标)

    荣耀X30max怎么隐藏应用(荣耀x30max怎么隐藏应用图标)

  • 苹果11pro和11pro max区别(苹果11pro和11pro max都是双卡吗)

    苹果11pro和11pro max区别(苹果11pro和11pro max都是双卡吗)

  • 别人打电话要拨打二次才通(打电话别人打过来我出费吗)

    别人打电话要拨打二次才通(打电话别人打过来我出费吗)

  • win10关机时间非常长(win10自动关机时间)

    win10关机时间非常长(win10自动关机时间)

  • 手机的浏览器在哪里找(手机浏览器在哪里找)

    手机的浏览器在哪里找(手机浏览器在哪里找)

  • 路由器可以连接wifi吗(路由器可以连接电视机顶盒吗)

    路由器可以连接wifi吗(路由器可以连接电视机顶盒吗)

  • 光信号什么意思(waifai显示光信号什么意思)

    光信号什么意思(waifai显示光信号什么意思)

  • qq扩列为什么一直匹配失败啊(qq扩列为什么一直频繁)

    qq扩列为什么一直匹配失败啊(qq扩列为什么一直频繁)

  • 快手号限流了怎么办(快手号限流了怎么办解封)

    快手号限流了怎么办(快手号限流了怎么办解封)

  • qq扩列一直匹配失败怎么回事(qq扩列还有匹配次数,为什么匹配失败)

    qq扩列一直匹配失败怎么回事(qq扩列还有匹配次数,为什么匹配失败)

  • 爱奇艺自制是什么意思(爱奇艺上面的自制是什么意思)

    爱奇艺自制是什么意思(爱奇艺上面的自制是什么意思)

  • 快手无网络连接怎么回事(快手无网络连接怎么办)

    快手无网络连接怎么回事(快手无网络连接怎么办)

  • ip是什么层协议(ip协议是网络层协议吗)

    ip是什么层协议(ip协议是网络层协议吗)

  • 华为nnbs是什么软件(华为nrc是什么意思)

    华为nnbs是什么软件(华为nrc是什么意思)

  • 怎么查苹果手表型号(怎么查苹果手表是几代)

    怎么查苹果手表型号(怎么查苹果手表是几代)

  • 华为p30拍照翻译功能怎么用(华为p30pro拍照翻译)

    华为p30拍照翻译功能怎么用(华为p30pro拍照翻译)

  • finder 在苹果电脑里是啥意思(苹果电脑finder怎么用)

    finder 在苹果电脑里是啥意思(苹果电脑finder怎么用)

  • 世界上第一个计算机网络是(世界上第一个计算机病毒)

    世界上第一个计算机网络是(世界上第一个计算机病毒)

  • naver怎么改中文(naver怎么设置中文)

    naver怎么改中文(naver怎么设置中文)

  • 如何解决浏览器Adobe Flash Player不是最新版本问题?(如何解决浏览器禁止访问)

    如何解决浏览器Adobe Flash Player不是最新版本问题?(如何解决浏览器禁止访问)

  • KB4524151安装失败如何解决(kb4592438安装失败)

    KB4524151安装失败如何解决(kb4592438安装失败)

  • 【今日春节】 (© bingdian/iStock/Getty Images Plus)(今天春节是什么生肖)

    【今日春节】 (© bingdian/iStock/Getty Images Plus)(今天春节是什么生肖)

  • ChatGPT API接口使用+fine tune微调+prompt介绍(api接口长什么样)

    ChatGPT API接口使用+fine tune微调+prompt介绍(api接口长什么样)

  • 微信小程序的几种传值方式(微信小程序几几年上线的)

    微信小程序的几种传值方式(微信小程序几几年上线的)

  • 如何一次性删除dedecms 中所有等待审核的文档(如何一次性删除微信账单记录)

    如何一次性删除dedecms 中所有等待审核的文档(如何一次性删除微信账单记录)

  • 实收资本印花税是营业账簿吗
  • 会计所得税分录?
  • 计提所得税费用会计分录
  • 计入税金及附加的税种口诀
  • 附加税减半征收的条件
  • 报销用的发票抬头写什么
  • 房地产企业利息资本化条件有哪些
  • 总公司可以给分公司买车吗
  • 增值税附征优惠政策
  • 成品油一般经营企业交什么税
  • 公司在原有生产领域内充分利用
  • 企业办理跨境人民币收付需要办理名录登记吗
  • 怎么看增值税专用发票是进项还是销项
  • 企业管理与咨询机构
  • 跨年度取得增值税发票
  • 资产转让的优点
  • 公司注销增值税在借方有余额怎么处理
  • 发放职工福利的会计科目
  • 异地预缴本地申报流程
  • 违约金扣除吗
  • abs付款是现金吗
  • 返利冲减销售收入还是进费用
  • 鸿蒙工具栏在哪里
  • 企业收到的罚款收入属于什么科目
  • 佣金回扣如何做账
  • 行纪合同的效力
  • PHP:session_get_cookie_params()的用法_Session函数
  • 什么是产品?产品的举例子
  • 二级资本债是什么意思
  • 债券投资账务处理例题
  • 资产减值损失的借贷方向
  • 请问简单的
  • 进货返利怎么入账
  • php类的使用
  • 文化建设事业费优惠政策
  • yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
  • 税额抵减情况表和减免税申报表
  • phpcms二次开发教程
  • 公司与公司往来账表格怎么制作
  • 账面价值是历史价值吗
  • 软件增值税即征即退网上备案
  • 生产劳务成本会计分录
  • 银行本票怎么办理转账
  • 教育行业税收优惠政策2022
  • 对公账户有法律效力吗
  • 企业所得税的亏损弥补怎么算
  • 高校报销开普票还是专票
  • 个体工商户怎样申报个税流程
  • 原材料贷方余额怎么转成本
  • 小微企业减免附加税税率
  • 利息保障倍数为0说明什么
  • 免税收入如何做分录科目
  • 物流公司账务处理流程及方法
  • 利润表的营业成本包括管理费用吗
  • 注册公司好麻烦
  • 民间非营利组织会计制度及操作实务
  • 平均净资产是什么意思
  • 市盈率为负数是说明什么呢
  • 怎么停止u盘自动运行
  • thinkpadx230i5
  • win7出现问题
  • linux中使用mkdir命令创建新的目录时
  • 华硕安装win7系统
  • win7任务栏还原到下面快捷键
  • win8电脑d盘不见了怎么恢复
  • win8.1锁屏壁纸设置
  • Win7系统电脑开不开机怎么办
  • python的判断语句
  • opengl transform
  • 自动清除数据
  • javascript含义
  • javascript性能优化写法
  • javascript中br
  • 在其他地方 英文
  • python os.walk遍历目录
  • java script js
  • 小规模增值税怎么计提
  • 开普通发票必须要纳税人识别号吗?
  • 江苏省南京市国医堂
  • 四川省地方税务局关于城镇土地使用税困难减免
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设