下载本地静态资源static文件夹

下载静态文件方法

 <a href="https://www.atool.online/static/serviceAgreement.docx" rel="external nofollow"  rel="external nofollow"  download="下载"></a>

下载

项目需要下载本地的docx文档,文档是放在本地的没有在服务器,所以需要下载本地静态资源文件,开始把文件放在了这里src目录下的assets资源文件下

下载报错 找不到文件路径查找原因是因为项目用的是vue-cli3, 在打包的时候并不知道会把assets

下的文件打包在哪里,但是在build的时候发现在根目录下的文件是打包在当前路径下的

所以我们要把需要下载的静态资源放在public文件夹下的static文件夹下就可以了

你可能在输入路径的时候会提示你是src,而不直接是static,但是你还是要直接输入static这个路径

<a href="https://www.atool.online/static/serviceAgreement.docx" rel="external nofollow"  rel="external nofollow"  download="服务协议"></a>

需要注意的是:cli2需要把要下载的文件放在static下面;cli4需要将文件放在public里面才不会被打包。

注意:href 指向项目中pdf文件的路径(不要出现中文),download 就是重命名的文件名,不设置的话就是默认文件名

发现vue版本是 3.0+ 所有把要下载的 文件直接放到public文件夹中(最好英文名字)

下载本地static静态文件的踩坑

未发现文件

接手了一个别人做的官网项目,里面添加一些功能,国际化(国际化);接着有一个下载的功能,一般都是后端甩一个链接你放上面就好,但是这个小功能再去找一个后端搞,太夸张了吧,那我们就自己搞!

方法当然是非常多的,但是我试了几种,总是会报一个错误;“未发现文件”,还有的时候就是:房子同一个地址下面;非压缩包的文件可以正常下载,但是压缩包就不能下载;

上代码

最简单的就是利用a标签

<el-button round
><a href="https://www.atool.online/xlsx/test.xlsx" rel="external nofollow"  download="大赛报名表.xlsx"
  >报名参赛</a
></el-button>

会有人疑问路径是不是不对,

一般访问static里面的文件路径是:"…/…/static/zip/test.xlsx"

我开始也是这样写的,一直报错”未找到文件“,

后来看了cli版本,发现是cli4有一些变化,改成代码中的路径就可以了;

还有一个问题就是相同路径,普通文件可以下载,但是压缩包无法下载,(我试验过把压缩包和普通文件放到同一个路路径下依然有问题);

这个时候我们就不要在html里面去操作他了;给他一个点击事件

上代码

html

<el-button @click="download">
题目下载
</el-button>

script

methods: {
    download() {
      window.location.href = "https://www.atool.online/zip/subject.zip";
    },
  },

两个文件的路径

文件路径

做一下记录,以上为个人经验,希望能给大家一个参考,也希望大家多多支持阿兔在线工具。

点赞(0)

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部