vue3上传图片,限制图片尺寸

20 篇文章 0 订阅
6 篇文章 0 订阅
// 上传前校验图片
const beforeUpload = (file) => {
    // 判断格式
    const types = ["image/jpg", "image/png", "image/jpeg", "image/gif"];
    const isJPG = types.includes(file.type);
    if (!isJPG) {
        ElMessage.error("上传图片格式不正确");
    }

    // 判断体积大小
    const isLt2M = file.size / 1024 / 1024 < 1;
    if (!isLt2M) {
        ElMessage.error("上传头像图片大小不能超过 1MB!");
    }

    //判断尺寸大小
    const isSize = new Promise(function (resolve, reject) {
        let width = 750;
        let height = 750;
        let _URL = window.URL || window.webkitURL;
        let img = new Image();
        img.onload = function () {
            let valid = img.width == width && img.height == height;
            valid ? resolve() : reject();
        };
        img.src = _URL.createObjectURL(file);
    }).then(
        () => {
            return file;
        },
        () => {
            ElMessage.error("上传的图片尺寸过大,请重新上传");
            return Promise.reject();
            //必须加上return false; 才能阻止
            return false;
        }
    );
    return isJPG && isLt2M && isSize;
};

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值