我现在需要写一个方法,通过判断图片的长度和文件size来返回true或者false
console.log('file want upload ', file);
let reader = new FileReader();
reader.readAsDataURL(file);
if (file.size > 1024*1024*3) { // 大于3M
message.error('您上传的图片过大!请重新上传');
return false;
}
let img = new Image();
return (function () {
let flag: boolean=true;
((flag) => {
reader.onloadend = function(evt){
img.src = this.result;
let width = img.width;
let height = img.height;
console.log(width);
console.log(height);
if (width < 2000 && height < 2000) {
flag = true;
} else {
flag = false
}
}
})(flag)
return flag;
})()
但是这个很明显函数会先返回..所以onloadend里面修改flag的值实际上是无效的,我该怎样处理才能实现在onloadend之后再让外层函数返回结果呢?
动漫人物
相关分类