文件放在前端代码仓库下载

vue中使用a标签下载静态资源文件(比如excel、pdf等)后端不参与

问题描述
平常我们在项目中需要做下载文件的功能,比如下载excel表格、比如下载pdf文件、比如下载word文档,这样的功能,一般是后端做,即:后端返回一个流文件、或者返回一个url地址。
但是,实际上,前端也是可以做的。很简单,使用a标签的下载功能即可。不过要注意静态文件存放的位置。
注意,前端做静态资源的下载适合固定的数据,不和数据库交互的数据,比如excel模板、比如注意事项.docx文档什么的。反之,后端做会更加合适。

步骤
**第一步,**public文件夹下新建static文件夹存放静态资源
在我们做vue项目的public文件夹下新建static文件夹,这个文件夹存放的我们需要下载的静态资源文件,如下图,这里我存放了一个 模板.xlsx文件,待会需要下载这个文件。当然static文件夹存放pdf文件、word文件什么的都可以的。static文件夹下也可以再建文件夹精细化存放,只要a标签下载的时候路径对得上即可,这里不赘述。
在这里插入图片描述

注意,这里要在public文件夹中新建文件夹存放静态资源,不能在src文件夹中新建文件夹存放静态资源,因为public文件夹中的文件资源不会被npm run build打包编译。大家打包一下,就会发现 模板.xlsx文件 是存放在dist/static文件夹中
**第二步,**模拟a标签下载文件即可
假设我们是点击按钮下载静态资源,代码如下:
// html
<el-button type=“primary” plain @click=“frontDownload”>本地下载

//js
frontDownload() {
var a = document.createElement(“a”); //创建一个标签
a.href = “/static/模板.xlsx”; // 给a标签的href属性值加上地址,注意,这里是绝对路径,不用加 点.
a.download = “下载啦.xlsx”; //设置下载文件文件名,这里加上.xlsx指定文件类型,pdf文件就指定.fpd即可
a.style.display = “none”; // 障眼法藏起来a标签
document.body.appendChild(a); // 将a标签追加到文档对象中
a.click(); // 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
a.remove(); // 一次性的,用完就删除a标签
}
如果是后端返回文件地址的那种形式,a.href的值就是后端返回的地址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

总结
上述代码便可以实现a标签访问前端静态资源,并下载的功能。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下载app前端代码之前,我们需要明确一些概念。app前端代码通常指的是移动应用程序的用户界面部分,也就是用户在手机上看到的界面和交互效果。和网页前端开发类似,app的前端代码主要由HTML、CSS和JavaScript构成。 要下载app前端代码,首先需要找到app的开发源码。通常情况下,我们需要从开发者或相关的开源社区获取app的代码。这些代码通常会以压缩包的形式提供,可以通过下载链接进行下载。 一般来说,下载app前端代码的步骤如下: 1. 寻找开发源码:可以通过搜索引擎、开发者网站或相关的开源社区来查找app的开发源码。 2. 确认下载方式:开发源码通常会提供不同的下载方式,如GitHub仓库、压缩包下载等。选择合适的下载方式并点击下载链接。 3. 下载源码:点击下载链接后,等待下载完成。根据不同的下载方式,可能需要进行登录或提供一些使用条件才能正常下载。 4. 解压源码:下载完成后,如果是压缩包形式的源码,可以使用解压软件将其解压到指定的文件夹。 下载完成并解压源码后,我们就可以开始进行app前端代码的阅读、修改和调试工作了。可以使用各种文本编辑器或开发工具来打开源码文件,并通过浏览器进行预览或调试。 总结来说,下载app前端代码需要先寻找开发源码,然后选择合适的下载方式进行下载,最后解压源码并进行相应的开发和调试工作。希望以上信息能够对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值