vue el-upload 最多上传9张图片或一个视频
时间: 2023-09-05 12:07:14 浏览: 147
vue实现图片上传功能
可以通过设置 `el-upload` 组件的 `limit` 属性来限制上传的文件数量。例如,要求最多上传9张图片或一个视频,可以将 `limit` 属性设置为 10,然后在 `before-upload` 方法中判断文件类型,如果不是图片或视频,则返回 `false`,拒绝上传。以下是示例代码:
```html
<template>
<el-upload
class="upload-demo"
action="/upload"
:limit="10"
:before-upload="beforeUpload"
:on-exceed="handleExceed"
multiple
:auto-upload="false">
<el-button slot="trigger" size="medium" type="primary">选取文件</el-button>
<div slot="tip" class="el-upload__tip">只能上传图片或视频,且不超过 9 张图片或 1 个视频</div>
</el-upload>
</template>
<script>
export default {
methods: {
beforeUpload(file) {
const isImage = file.type.startsWith('image');
const isVideo = file.type.startsWith('video');
const validType = isImage || isVideo;
if (!validType) {
this.$message.error('只能上传图片或视频');
return false;
}
return true;
},
handleExceed(files, fileList) {
this.$message.warning(`只能上传 9 张图片或 1 个视频`);
},
},
};
</script>
```
在上述代码中,我们通过 `before-upload` 方法判断上传的文件类型,如果不是图片或视频,就会弹出错误提示,并返回 `false`,拒绝上传。同时,通过 `handleExceed` 方法来处理超过限制数量的情况,弹出警告提示。
阅读全文