Vue中 实现静态文件下载(以下载表格为例)

应用场景:有时候我们需要下载的文件数量不多且内容是固定不变的静态文件(如:模板之类),那么实现下载功能在前端就可以完成,不需要和服务端进行交互。如需下载内容较为复杂是动态文件,请移步 传送门:Vue中 实现文件流下载

本文vue-cli 版本:3.x, 4.x

1. 将待下载的文件放在 public 里
public 文件夹下的文件并不会被 Webpack 处理,它们会直接被复制到最终的打包目录下。
必须使用绝对路径引用这些文件,简单说 public 就是用来存放万年不变的文件。
Vue中 实现静态文件下载(以下载表格为例)_第1张图片
2. 组件中代码实现

<template>
  <div class="about">
    <el-button type="primary" @click="download">下载</el-button>
  </div>
</template>

<script>
export default {
     
  data() {
     
    return {
     };
  },
  methods: {
     
    download(){
     
      let a = document.createElement('a');
      a.href = `/static/test.xlsx`;
      a.download = '测试表格.xlsx';
      a.click();
    }
  },
  mounted() {
     },
};
</script>

3. dist文件
Vue中 实现静态文件下载(以下载表格为例)_第2张图片
最后将 dist 包在服务器部署便可

你可能感兴趣的:(Vue,vue.js,前端)