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

  • APP活动运营,其实你一直在“骚扰”用户?(app的运营计划)

    APP活动运营,其实你一直在“骚扰”用户?(app的运营计划)

  • 为什么在众多网络营销中选择微信进行宣传推广(为什么网络受欢迎)

    为什么在众多网络营销中选择微信进行宣传推广(为什么网络受欢迎)

  • 如何写一篇能带来巨大流量的软文(怎样写一篇)

    如何写一篇能带来巨大流量的软文(怎样写一篇)

  • 华为watchfitnew怎么设置表盘(华为watchfitnew怎么换表带)

    华为watchfitnew怎么设置表盘(华为watchfitnew怎么换表带)

  • vivo手机地震预警在哪里打开(vivo手机地震预警暂不支持的地区)

    vivo手机地震预警在哪里打开(vivo手机地震预警暂不支持的地区)

  • 企业微信怎么解绑实名认证(企业微信怎么解散创建的企业)

    企业微信怎么解绑实名认证(企业微信怎么解散创建的企业)

  • 华为荣耀20青春版屏幕尺寸多大(华为荣耀20青春版换屏幕多少钱)

    华为荣耀20青春版屏幕尺寸多大(华为荣耀20青春版换屏幕多少钱)

  • 红米note8pro怎么打开OTG(红米note8pro怎么恢复出厂设置)

    红米note8pro怎么打开OTG(红米note8pro怎么恢复出厂设置)

  • 微信号可以用什么符号(微信号可以用什么注册)

    微信号可以用什么符号(微信号可以用什么注册)

  • 快手剪视频软件叫什么(快手剪视频软件哪个好)

    快手剪视频软件叫什么(快手剪视频软件哪个好)

  • 插卡式mp3怎么充电(插卡式mp3充电时怎样算充满)

    插卡式mp3怎么充电(插卡式mp3充电时怎样算充满)

  • 一个付款码可以扫几次(一个付款码可以用几次)

    一个付款码可以扫几次(一个付款码可以用几次)

  • 主机内存条怎么安装(主机内存条怎么拆)

    主机内存条怎么安装(主机内存条怎么拆)

  • 苹果x没电了怎么冲都不开机怎么回事(苹果x没电之后开不了机)

    苹果x没电了怎么冲都不开机怎么回事(苹果x没电之后开不了机)

  • 天猫魔屏连不上wifi(天猫魔屏连不上手机热点)

    天猫魔屏连不上wifi(天猫魔屏连不上手机热点)

  • 华为tit-al00什么型号(华为 trt-al00)

    华为tit-al00什么型号(华为 trt-al00)

  • 抖音上年龄计算器是什么软件(抖音最火计算年龄的程序)

    抖音上年龄计算器是什么软件(抖音最火计算年龄的程序)

  • 压tp的屏幕是什么意思(压tp的屏幕和压盖板怎么区分)

    压tp的屏幕是什么意思(压tp的屏幕和压盖板怎么区分)

  • xsmax基带是什么(xsmax基带怎么样)

    xsmax基带是什么(xsmax基带怎么样)

  • 候补退款什么时候到账(候补退款什么时候回来)

    候补退款什么时候到账(候补退款什么时候回来)

  • 淘宝特价版是官方的吗(淘宝特价版是官网吗)

    淘宝特价版是官方的吗(淘宝特价版是官网吗)

  • Reno Ace云空间满了怎么办(云空间容量已满怎么办)

    Reno Ace云空间满了怎么办(云空间容量已满怎么办)

  • qq空间怎么关掉好友热播(qq空间怎么关掉此刻)

    qq空间怎么关掉好友热播(qq空间怎么关掉此刻)

  • 微博怎么设置虚拟位置(微博怎么设置虚拟抽奖)

    微博怎么设置虚拟位置(微博怎么设置虚拟抽奖)

  • p30输入法设置(华为p30pro输入法设置)

    p30输入法设置(华为p30pro输入法设置)

  • 利用织梦(dedecms)如何仿站(如何用织梦在本地搭建网站)

    利用织梦(dedecms)如何仿站(如何用织梦在本地搭建网站)

  • 进项税额转出会影响利润吗
  • 异地存货怎么审计
  • 所得税费用会计准则
  • 个税app抵扣多少钱怎么查询
  • 一般纳税人可以开1%的发票吗
  • 发票代码有误什么意思
  • 收据可以盖发票专用章吗有效吗
  • 存货期末结存量的公式
  • 用友软件销售操作流程
  • 预收保费属于什么会计科目类别
  • 补提以前年度个税会计分录
  • 事业单位只能开具0税率的普票
  • 购销合同印花税最新政策2023
  • 专票的有效期是什么意思
  • 搅拌站需要什么土地
  • 差额税和增值税怎么算
  • 小规模纳税人教育费附加和地方教育费附加减免
  • iphone有没有
  • linux如何用root用户登录
  • 应交税费贷方余额负数表示什么
  • 在建工程的概念
  • 实物资产股权投资包括
  • 2020税务预警后如何解除
  • 经营租入的设备计入什么科目
  • vs code no such file or directory
  • 360devm.sys是什么文件
  • 预计负债内容
  • 车间报销办公用品费
  • 损益明细表计提企业所得税
  • initpki.dll有什么用
  • Kamikōchi, Nagano Prefecture, Japan (© sadao/Shutterstock)
  • php closure类
  • php stomp
  • 银行存款账面余额与银行账户余额
  • 怎么安装离线导航
  • elementui动态表单数据回显
  • 个人出租房可开发票吗
  • 出租厂房计提折旧会计分录
  • 个税汇算清缴时劳务报酬怎么计税
  • nacos注册流程
  • 织梦相关文章调用
  • 什么科目需要结转到本年利润
  • 没有开具发票的收入如何入账?
  • 一般纳税人申请条件
  • 固定资产清理的账务处理
  • 房地产企业实际发生的税金及附加
  • 企业净利润流量怎么算
  • 公司注销怎么做
  • 所得税为负数会计分录
  • 农产品怎么自产自销
  • 房地产预售款预交税金计算
  • 用友有审核权限审核不了
  • 没有票的成本怎么处理
  • 多做费用有什么好处
  • 销售费用明细科目有哪些内容
  • 好用的sql工具
  • mysqld占用cpu高
  • windows优化软件
  • 部署rancher
  • ubuntu装eclipse
  • ubuntu文本编辑器命令
  • SymSPort.exe - SymSPort是什么进程 有何作用
  • centos中netspeeder网络加速/优化器的安装方法
  • cocos2dx + android 如何添加百度插屏广告
  • unityz
  • 特征提取技术
  • centos上安装邮件服务器
  • 安卓开发问题
  • shell数据处理
  • node.js redis
  • angularjs常用总结
  • 迅雷继续下载
  • jquery checkbox无法用attr()二次勾选问题的解决方法
  • js实现组件功能
  • 税务局约谈严重吗
  • 医保电子缴费凭证怎么查询
  • 亏损企业能否给补偿
  • 安徽国税局发票查询系统
  • 出口退税函调回函时间
  • 英国税务局缴纳税款方式
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设