Vue element ui 限制上传图片比例
<el-upload class="avatar-uploader" action="http://************/file/upload" :show-file-list="false" name="image" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload"> <img v-if="form.attachment" :src="form.attachment" class="avatar"> <i v-else class="el-icon-plus avatar-uploader-icon"></i> <div slot="tip" class="el-upload__tip">封面图只能上传jpeg/png/jpg文件,且不超过500kb</div> </el-upload>
在上传图片之前
before-upload进行判断,注意判断顺序 return new Promise放最后
img.naturalWidth 和 img.naturalHeight 可以得到宽高,也可以限制图片具体像素大小
beforeAvatarUpload(file) { const isJPG = file.type === 'image/jpeg' || file.type === 'image/jpg' || file.type === 'image/png' const isLt2M = file.size / 1024 / 1024 < 5; if (!isJPG) { this.$message.error('上传头像图片只能是 jpeg/png/jpg 格式!'); return false }else if (!isLt2M) { this.$message.error('上传头像图片大小不能超过 5MB!'); return false } return new Promise((resolve,reject) => { let reader = new FileReader() reader.readAsDataURL(file) reader.onload = () => { let img = new Image() img.src = reader.result img.onload = () => { if (img.naturalWidth / img.naturalHeight !== 2) { this.$message.error(`请上传宽高比为2:1的图片!`) return reject(false) } else { return resolve(true) } } } }) },
本文来自博客园,作者:三线码工,转载请注明原文链接:https://www.cnblogs.com/shangrao/p/15747451.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix