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,为什么还是执行上传呢?