前言:
在前段时间开发的上传图片功能后,突然有天客户反馈无法上传图片,经过一系列的排查发现上传到后端的图片大小不能太大,需要前端在上传图片时加以。
问题分析:
要在上传时判断图片格式和大小是否过大或者格式是否不对,这样就用到了组件的一个api:beforeUpload 文件上传之前的回调,返回一个promise对象,若return false则终止上传。
实例代码:
const beforeUpload = (file: any) => {
if (file.type == 'image/jpeg' || file.type == 'image/png' || file.type == 'image/gif') {
if (file.size / 1024 / 1024 < 4) {
return true
} else {
ElMessage.error('文件大小需要小于4M')
return false
}
} else {
ElMessage.error('文件格式只能是jpg/png/gif格式')
return false
}
}
在调用beforeUpload api时会传入当前上传图片的格式和大小等信息,这时就可以加以判断图片的格式和大小。