el-upload如何上传多张图片
时间: 2023-09-02 09:11:49 浏览: 91
用element的upload组件实现多图片上传和压缩的示例代码
el-upload组件可以通过设置`multiple`属性来支持上传多张图片。具体实现步骤如下:
1. 在el-upload组件上设置`multiple`属性,例如:
```html
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:multiple="true"
:on-success="handleSuccess"
:on-remove="handleRemove"
:before-upload="beforeUpload">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
```
2. 在`beforeUpload`方法中处理上传的多个文件,例如:
```javascript
beforeUpload(file) {
// 判断上传的文件是否是图片类型
const isJPG = file.type === 'image/jpeg' || file.type === 'image/png';
if (!isJPG) {
this.$message.error('只能上传jpg/png文件!');
return false;
}
// 判断上传的文件大小是否超过规定大小
const isLt2M = file.size / 1024 / 1024 < 0.5;
if (!isLt2M) {
this.$message.error('上传文件大小不能超过 500KB!');
return false;
}
// 处理多个文件
this.uploadFiles.push(file);
return false; // 阻止上传,等待手动触发上传
},
```
在这个例子中,我们通过判断文件类型和文件大小来限制上传的文件格式和大小,并将上传的文件存储在`uploadFiles`数组中,等待手动触发上传。
3. 在`handleSuccess`方法中处理上传成功后的文件,例如:
```javascript
handleSuccess(response, file, fileList) {
console.log(response, file, fileList);
},
```
在这个例子中,我们可以通过`fileList`参数获取上传成功的所有文件信息。
4. 在`handleRemove`方法中处理删除上传的文件,例如:
```javascript
handleRemove(file, fileList) {
this.uploadFiles = fileList;
},
```
在这个例子中,我们可以通过`fileList`参数获取删除后的所有文件信息。
通过这些步骤,我们就可以实现el-upload组件的多图片上传功能。
阅读全文