在vue3中 vue-upload-component多文件上传示例
时间: 2023-12-07 15:03:30 浏览: 286
基于vue-upload-component封装一个图片上传组件的示例
在Vue3中,你可以使用vue-upload-component插件进行多文件上传操作。以下是一个示例代码:
```
<template>
<div>
<vue-upload-component
ref="upload"
:multiple="true"
:extensions="['jpg', 'jpeg', 'png']"
:max-size="5"
:url="uploadUrl"
@input-filter="inputFilter"
@upload-success="uploadSuccess"
@upload-error="uploadError"
>
<button>Upload Files</button>
</vue-upload-component>
</div>
</template>
<script>
import VueUploadComponent from 'vue-upload-component';
export default {
components: {
VueUploadComponent,
},
data() {
return {
uploadUrl: 'your-upload-url',
};
},
methods: {
inputFilter(newFile, oldFile, prevent) {
if (newFile && (!oldFile || oldFile.error)) {
if (/\.(jpg|jpeg|png)$/.test(newFile.name.toLowerCase())) {
newFile.new = true;
} else {
prevent();
this.$notify({
title: 'Error',
message: 'Only upload jpg/jpeg/png files',
type: 'error',
});
}
}
},
uploadSuccess(response, file, fileList) {
console.log('Upload Success', response, file, fileList);
},
uploadError(response, file, fileList) {
console.log('Upload Error', response, file, fileList);
},
},
};
</script>
```
在这个示例中,我们首先引入了vue-upload-component插件,然后在模板中使用了这个组件,并设置了相关属性和事件。其中,我们设置了multiple属性为true,这样可以允许用户选择多个文件进行上传;设置了extensions属性为['jpg', 'jpeg', 'png'],这样可以限制只能上传jpg、jpeg和png格式的文件;设置了max-size属性为5,这样可以限制文件大小不超过5MB;设置了url属性为上传接口的地址。在事件中,我们实现了inputFilter、uploadSuccess和uploadError三个方法,用来过滤文件、处理上传成功和上传失败的情况。
阅读全文