vue 引入本地文件并提供下载功能
时间: 2023-12-12 17:54:08 浏览: 29
你可以使用`<a>`标签来提供文件下载功能,并使用Vue的`import`命令来引入本地文件。以下是示例代码:
1. 在 Vue 组件中添加一个下载按钮,并绑定点击事件:
```html
<template>
<div>
<button @click="downloadFile">下载文件</button>
</div>
</template>
```
2. 在 Vue 组件的 `<script>` 标签中引入要下载的文件:
```javascript
<script>
import myfile from "@/assets/myfile.txt";
export default {
methods: {
downloadFile() {
const url = URL.createObjectURL(new Blob([myfile]));
const link = document.createElement("a");
link.href = url;
link.setAttribute("download", "myfile.txt");
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
}
};
</script>
```
在上面的代码中,我们使用`import`命令来引入一个名为`myfile`的文件,它位于`@/assets`目录下。然后,我们在`downloadFile()`方法中创建一个URL对象,将文件数据传递给Blob构造函数,然后将URL添加到新创建的<a>标签中并将其点击。最后,我们从文档中删除该链接。
请注意,我们还添加了`download`属性,该属性指定下载文件的名称。