当前位置 : 主页 > 网络编程 > JavaScript >

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

来源:互联网 收集:自由互联 发布时间:2023-02-08
目录 下载本地静态资源static文件夹 下载静态文件方法 下载 下载本地static静态文件的踩坑 下载本地静态资源static文件夹 下载静态文件方法 a href="/static/serviceAgreement.docx" rel="external nof
目录
  • 下载本地静态资源static文件夹
    • 下载静态文件方法
    • 下载
  • 下载本地static静态文件的踩坑

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

    下载静态文件方法

     <a href="/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="/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="/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 = "/zip/subject.zip";
        },
      },

    两个文件的路径

    文件路径

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

    上一篇:Vue登录功能的实现流程详解
    下一篇:没有了
    网友评论