在vue中,使用el-upload组件,完成多个文件,一次请求批量上传
warning:
这篇文章距离上次修改已过193天,其中的内容可能已经有所变动。
在Vue中,使用el-upload
组件实现批量文件上传,可以通过设置el-upload
的action
属性指定上传的服务器地址,并将multiple
属性设置为true
以支持多文件上传。此外,设置:auto-upload
属性为false
,这样文件选择后不会自动上传,而是需要手动触发上传。
以下是一个简单的例子:
<template>
<el-upload
ref="upload"
action="http://your-upload-server/upload"
:auto-upload="false"
multiple
:on-success="handleSuccess"
:on-error="handleError">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
</el-upload>
</template>
<script>
export default {
methods: {
submitUpload() {
this.$refs.upload.submit();
},
handleSuccess(response, file, fileList) {
console.log('文件上传成功', response, file, fileList);
},
handleError(err, file, fileList) {
console.error('文件上传失败', err, file, fileList);
}
}
};
</script>
在这个例子中,我们使用了两个按钮,一个是触发文件选择的按钮,另一个是用来手动触发上传的按钮。通过ref="upload"
给el-upload
组件设置了引用,然后在submitUpload
方法中调用this.$refs.upload.submit()
来手动触发文件上传。上传成功或失败时,会调用handleSuccess
和handleError
方法处理响应。
请确保服务器端支持批量上传文件,并且action
属性中的URL是可以正确处理多文件上传的服务器地址。
评论已关闭