アップロード前に画像プレビューを扱っています。 これで、選択したファイルが表示されます。うまくいきます。.onload関数の後にコードを実行するにはどうすればいいですか?
しかし、私は状況に固執しています。 "入力ファイル"にファイルを添付すると、スクリプトは小さすぎるかどうかをテストします(300px w:hより小さい)。
これらのファイルの1つがこのルールに従わない場合(幅と高さが300pxより大きい必要があります)、スクリプトはエラーvarをtrueに設定しています。そして、 "for"ブロックの後に、 "error"が真か偽かをチェックします。
私は、このシナリオで働いている:
window.onload = function() {
var fileUpload2 = document.getElementById("inputFileID");
fileUpload2.onchange = function() {
var error = false;
if (typeof (FileReader) != "undefined") {
var dvPreview = document.getElementById("divToShowPreview");
dvPreview.innerHTML = "";
var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.gif|.png|.bmp)$/;
if(fileUpload2.files.length > 3) {
alert('Only 3 files allowed!');
} else {
for (var i = 0; i < fileUpload2.files.length; i++) {
var file = fileUpload2.files[i];
if (regex.test(file.name.toLowerCase())) {
var reader = new FileReader();
reader.onload = function (e) {
var img = document.createElement("IMG");
img.src = e.target.result;
img.onload = function() {
console.log(this.width + " " + this.height);
if(this.width >=300 && this.height >=300) {
dvPreview.appendChild(img);
} else {
error = true;
}
};
};
reader.readAsDataURL(file);
} else {
alert(file.name + " is not a valid image file.");
dvPreview.innerHTML = "";
return false;
}
}
console.log(error);
}
} else {
alert("This browser does not support HTML5 FileReader.");
}
};
};
あなたが見ることができるように、にconsole.log(エラー)がまだFALSE示しています! このvarセットをどのようにしてtrueにすることができますか?
おかげ
console.log(this.width + "" this.height); 'の結果は何ですか? – am05mhz
デモをご提供ください。 – moon