vue使用element实现选择txt文件打开并读取内容
时间: 2024-05-03 19:18:55 浏览: 162
可以使用`<el-upload>`组件实现选择txt文件并上传,然后在上传成功的回调函数中读取文件内容。具体实现如下:
1. 安装`element-ui`和`axios`依赖:
```
npm install element-ui axios --save
```
2. 在Vue组件中引入`<el-upload>`组件和`axios`:
```vue
<template>
<div>
<el-upload
class="upload-demo"
action=""
:on-success="handleUploadSuccess"
:before-upload="beforeUpload"
:file-list="fileList">
<el-button size="small" type="primary">选择文件</el-button>
</el-upload>
</div>
</template>
<script>
import axios from 'axios'
export default {
data() {
return {
fileList: []
}
},
methods: {
beforeUpload(file) {
// 限制只能上传txt文件
if (file.type !== 'text/plain') {
this.$message.error('只能上传txt文件')
return false
}
},
handleUploadSuccess(response, file, fileList) {
// 上传成功后,使用axios读取文件内容
axios.get(response.url).then(res => {
console.log(res.data) // 文件内容
})
}
}
}
</script>
```
在`beforeUpload`方法中,我们限制只能上传txt文件;在`handleUploadSuccess`方法中,我们使用axios读取上传文件的内容。
阅读全文