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

  • 出口货物关税完税价格
  • 车辆购置税可以刷信用卡吗?
  • 小规模纳税人的起征点是多少
  • 非营利组织缴纳社保
  • 注册资本余额为100万亿元
  • 政府会计制度固定资产折旧哪个月开始计提
  • 怎么确定印花税申报成功
  • 免交增值税是什么意思
  • 无形资产研究阶段的支出全部费用化
  • 未开发票收入交增值税怎么做账?
  • 取得投资收益会导致经营现金流量小于
  • 没有真实业务的票据贴现
  • 税务变更
  • 个税计提比实际缴纳多怎么办
  • 小微企业发放工资做账
  • 补充养老保险计算器
  • 企业所得税申报表A类
  • 其他货币资金期末处理
  • 共同编辑app
  • php类和对象写法
  • linux中php的作用
  • 营业收入与营业成本之间的差额是
  • windows modules installer worker怎么禁用
  • 财产损失立案
  • 电脑屏幕字体模糊怎么办
  • php require的用法
  • wordpress更改字体
  • linux查看ssh服务开启
  • 大堡礁分布在澳大利亚的哪里
  • 公司向股东借的钱怎么还
  • 测试费计入什么会计科目
  • 钉钉防止撤回
  • ssh远程登录执行命令
  • 电汇收款的会计分录
  • 如何简单去除
  • 工程施工企业的增值税税率是多少
  • 域名费用怎么交
  • 公司没有车加油费怎么报
  • 运输发票怎么做账
  • 投资公司投资收益要交增值税吗
  • 公司活动举办属于哪个部门
  • 营业收入在财务报表上用什么字母表示
  • 利润减负债
  • 增值税一般纳税人登记管理办法
  • 长期股权投资中级会计例题
  • 专项应付款的核算
  • 出口销售确认书的条款
  • 事业单位结余是什么意思
  • 车船税开在备注栏相关文件
  • 案例分析购入办法怎么写
  • 融资租赁的固定资产视为企业自有固定资产管理
  • 收付实现制下收入包括增值税吗
  • mysql5.7.31安装
  • xp系统可以双屏吗
  • Win7 64位旗舰版系统中实现照片的批量重命名
  • surface 优惠
  • xp系统快捷启动按哪个
  • linux 网络配置
  • windows开始按钮点了没用
  • win10关机快捷键
  • linux内核编程指南
  • glibc2.14安装
  • jquery width
  • android属性大全
  • dos echo命令
  • ie按钮不显示
  • 实现原生的ajax
  • textview不换行
  • mailto的使用技巧分享
  • node.js中使用文件流进行文件复制,首先需要创建一个
  • Unity之megaFierstext翻书插件控制代码分析
  • 省市二级联动小组是什么
  • 购买服务合同模版
  • 个人社保缴纳年限怎么算
  • 杭州地税局办事大厅
  • 房屋契税可以退个人所得税吗
  • 房契税发票丢了能补办吗
  • 年度申报个人所得税专项扣除多填了怎么办
  • 企业演讲稿 英文
  • 新郑市税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设