element做图片上传之前校验的问题

   beforeAvatarUpload(file) {
        const isSize = new Promise(function (resolve, reject) {
            let _URL = window.URL || window.webkitURL;
            let img = new Image();
            img.src = _URL.createObjectURL(file);
            img.onload = function () {
                console.log(img.width, img.height)
                let valid = img.width / img.height === 16 / 9;
                valid ? resolve() : reject();
            };
        }).then(() => {
            return file;
        }, () => {
            this.$message.error('请上传16:9的图片');
            return false;
        });
        const is1M = file.size / 1024 / 1024 < 1;
        if (!is1M) {
            this.$message.error('上传头像图片大小不能超过 1MB!');
        }
        return isSize && is1M;
    },
这是上传之前的校验函数,当我进行宽高比校验的时候,会执行reject,但还是进行了上传操作,我返回的是一个false,为什么还是执行上传呢?
阅读 1.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题