我试图编写一个函数来检查我通过 input[type=file] 选择的图像是否正好是 700 px 宽,如果不是 - 拒绝这个图像。我成功了,但是,有时这个函数会随机返回 0,我需要多次加载相同的图像,直到它正确读取它的宽度。关于如何改进此代码的任何想法?提前致谢!
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
var img = new Image;
img.src = e.target.result;
if(img.width == 700) {
DoSomeStuff();
} else {
alert("This image has to be 700 px wide, but is " + img.width + " px wide. Try again!");
input.value = "";
}
};
reader.readAsDataURL(input.files[0]);
}