目录
  • 下载本地静态资源static文件夹
    • 下载静态文件方法
    • 下载
  • 下载本地static静态文件的踩坑

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

    下载静态文件方法

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

    下载

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    上代码

    最简单的就是利用a标签

    <el-button round
    ><a href="https://www.freexyz.cn/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.freexyz.cn/zip/subject.zip";
        },
      },

    两个文件的路径

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

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

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。