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]);
}