背景
vue+element后台管理系统中的表单提交包含“资质上传”功能(就是需要多图片上传)
要求:
- 文件上传之前做处理
限制最多只能上传10张图片
格式限制 ‘image/jpeg’, ‘image/png’, ‘image/jpg’
图片不能超过2MB
上传图片的宽高限制为宽:750,高:500
实现代码:
HTML
说明:
action 必选参数,上传的地址 string
list-type 文件列表的类型 string text/picture/picture-card
file-list 上传的文件列表 array
on-remove 文件列表移除文件时的钩子 function(file, fileList)
before-upload 上传文件之前的钩子 function(file)
headers 设置上传的请求头部 object
on-success 文件上传成功时的钩子 function(response, file, fileList)
on-error 文件上传失败时的钩子 function(err, file, fileList)
on-exceed 文件超出个数限制时的钩子 function(files, fileList)
on-progress 文件上传时的钩子 function(event, file, fileList)
http-request 覆盖默认的上传行为,可以自定义上传的实现 function
<template>
<div>
<el-upload
:action="actionSrc"
list-type="picture-card"
:file-list="files"
:on-remove="handleRemove"
:before-upload="beforeAvatarUpload"
:headers="headerObj"
:on-success="successFn"
:on-error="errorFn"
:on-exceed="exceedLength"
:on-progress="uploadVideoProcess"
style="border: 1px solid #DCDFE6;border-radius: 4px;padding: 10px