第一步 public文件夹下新建static文件夹存放静态资源
编辑
word、excel、pdf等文件同理。只要a标签下载的时候路径对得上即可,这里不赘述。
注意:一定要在public文件夹中新建文件夹存放静态资源,不能在src文件夹中新建文件夹存放静态资源,因为public文件夹中的文件资源不会被npm run build打包编译。大家打包一下,就会发现 模板.xlsx文件 是存放在dist/static文件夹中
第二步 模拟a标签下载文件即可
假设我们是点击按钮下载静态资源,代码如下:
<!--按钮-->
<el-button type="primary" plain @click="frontDownload">点击下载模板</el-button>
<!--js-->
frontDownload() {
let a = document.createElement("a"); //创建一个<a></a>标签
a.href = "/static/docx/模板.docx"; // 给a标签的href属性值加上地址,注意,这里是绝对路径,不用加 点.
a.download = "采购需求确认函(新).docx"; //设置下载文件文件名,这里加上.xlsx指定文件类型,pdf文件就指定.fpd即可
a.style.display = "none"; // 障眼法藏起来a标签
document.body.appendChild(a); // 将a标签追加到文档对象中
a.click(); // 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
a.remove(); // 一次性的,用完就删除a标签
},
ok,去测试吧。写的不好,请多担待。