当前位置: 首页 > news >正文

vue独立提供模板下载功能

需求描述:页面需要下载模板文件(word、excel),这些文件是固定的,如果存储在服务端,由后端负责返回数据流,前端再处理数据流则太浪费性能。把文件放到前端,用户下载时直接提供。但是传统的前端项目(html/css/js)是无法做到获取文件。

1.将这部分静态的文件放入到public目录

可以参考命名一个static的文件夹,将所有静态资源放入到该文件夹中

放入public的文件最终会直接打包到前端服务器

当然,还有另外一种方法。静态资源文件可以放置在src目录下的static文件夹,然后通过copy-webpack-plugin,在webpack的配置文件中为static文件夹配置复制处理的操作,在此不做演示,有兴趣可以自己试试。

直接复制到public比较粗暴,比较直接

2.验证

打包后的文件,已经可以通过服务器访问到这个资源。运行项目,通过localhost:8080访问项目正常,在8080后面接我们的文件路径即可获得一个下载链接,如:localhost:8080/static/files/userTemplate.xls

打开这里链接即可自动下载

 

3.编写代码

用户如何触发下载?点击下载时通过window对象获取当前网页的域名(ip)端口号等,触发下载事件

 loadDownImportExcel(){
   let xieyi = window.location.href.split("://")[0];
   let host = window.location.host;
   let pathname = window.location.pathname
   let baseUrl = xieyi + '://' + host + pathname

   const link = document.createElement('a')
   link.style.display = 'none'
   link.setAttribute('href', baseUrl + '/static/files/userTemplate.xls')
   link.download = '用户导入模板' + new Date().getTime() //下载的文件名
   document.body.appendChild(link)
   link.click()
   document.body.removeChild(link)
},

相关文章:

  • 怎么判断MES系统好不好?MES又是如何帮企业省钱的?
  • 数据治理:为什么不见BI作关联分析
  • 聚氨基酯偶联牛血清白蛋白/人血清白蛋白/卵清白蛋白纳米粒PAE-BSA/HSA/OVA(合成路线)
  • 应用开发类API推荐
  • sonar是一款静态代码质量分析工具
  • EN 14782建筑金属结构产品—CE认证
  • Leetcode 376. 摆动序列
  • Linux12 crontab 定时任务 at 一次性任务
  • 【树莓派】项目中找不到第三方库的问题
  • leetcode136,137,260:只出现一次的数字 | || |||
  • mysql安装8.0详细操作
  • 《算法竞赛进阶指南》,USACO2007 牛站
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • 【MindSpore易点通】如何将PyTorch源码转成MindSpore低阶APIP,并在Ascend芯片上实现单机单卡训练
  • vue前端 页面样式强制覆盖
  • [nginx文档翻译系列] 控制nginx
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【comparator, comparable】小总结
  • chrome扩展demo1-小时钟
  • HTTP那些事
  • Mocha测试初探
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • SSH 免密登录
  • Vue 动态创建 component
  • yii2权限控制rbac之rule详细讲解
  • 搞机器学习要哪些技能
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 前端js -- this指向总结。
  • 深度解析利用ES6进行Promise封装总结
  • Mac 上flink的安装与启动
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​configparser --- 配置文件解析器​
  • (a /b)*c的值
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .form文件_SSM框架文件上传篇
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET Framework .NET Core与 .NET 的区别
  • .NET4.0并行计算技术基础(1)
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • ::before和::after 常见的用法
  • :“Failed to access IIS metabase”解决方法
  • [20150707]外部表与rowid.txt
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]
  • [20190416]完善shared latch测试脚本2.txt
  • [AIGC] SQL中的数据添加和操作:数据类型介绍
  • [AutoSar NVM] 存储架构
  • [C#]手把手教你打造Socket的TCP通讯连接(一)
  • [C++] 多线程编程-thread::yield()-sleep_for()
  • [Codeforces] combinatorics (R1600) Part.2
  • [C语言]编译和链接