el-upload多文件手动上传
时间: 2023-07-24 08:18:46 浏览: 90
el-upload多文件一次性上传(携带json),自定义上传事件(手动上传),不使用action属性上传.pdf
5星 · 资源好评率100%
你可以使用 `el-upload` 组件来实现多文件的手动上传。以下是一个简单的示例代码:
```html
<template>
<div>
<el-upload
ref="upload"
action="/upload"
:auto-upload="false"
multiple
:limit="3"
:on-exceed="handleExceed"
>
<el-button size="small" type="primary">选择文件</el-button>
<div slot="tip" class="el-upload__tip">只能上传不超过 3 个文件</div>
</el-upload>
<el-button size="small" type="success" @click="uploadFiles">上传</el-button>
</div>
</template>
<script>
export default {
methods: {
handleExceed(files, fileList) {
this.$message.warning(`只能上传 ${this.limit} 个文件`);
},
uploadFiles() {
const fileList = this.$refs.upload.uploadFiles;
fileList.forEach(file => {
// 在这里执行你的上传逻辑
// 例如使用 axios 发送请求
// axios.post('/upload', file)
console.log(file);
});
},
},
};
</script>
```
在上面的代码中,我们使用 `el-upload` 组件来创建一个文件上传的区域。设置 `auto-upload` 属性为 `false`,这样选择文件后不会自动上传。通过设置 `multiple` 属性可以实现多文件上传,而 `limit` 属性可以限制最多上传的文件数量。
当选择的文件数量超过限制时,会触发 `on-exceed` 方法,我们在这里给出一个提示。
点击"选择文件"按钮后,会调用 `uploadFiles` 方法来获取选择的文件列表,并可以在该方法中执行你的上传逻辑。你可以按照你的需求使用 axios 或其他方式发送请求,将文件上传到服务器。
上述代码只是一个简单的示例,你可以根据自己的实际需求进行修改和扩展。
阅读全文