Ich habe ein JPS mit einem Formular, in das ein Benutzer ein Bild einfügen kann:
<div class="photo">
<div>Photo (max 240x240 and 100 kb):</div>
<input type="file" name="photo" id="photoInput" onchange="checkPhoto(this)"/>
</div>
Ich habe dieses js geschrieben:
function checkPhoto(target) {
if(target.files[0].type.indexOf("image") == -1) {
document.getElementById("photoLabel").innerHTML = "File not supported";
return false;
}
if(target.files[0].size > 102400) {
document.getElementById("photoLabel").innerHTML = "Image too big (max 100kb)";
return false;
}
document.getElementById("photoLabel").innerHTML = "";
return true;
}
Dies funktioniert gut, um Dateityp und -größe zu überprüfen. Jetzt möchte ich die Bildbreite und -höhe überprüfen, kann dies aber nicht.
Ich habe es versucht, target.files[0].width
aber ich verstehe undefined
. Mit anderen Möglichkeiten bekomme ich 0
.
Irgendwelche Vorschläge?
Meiner Ansicht nach ist die perfekte Antwort, die Sie benötigen,
quelle
Genau. Sobald es an einen Ort hochgeladen wurde, auf den der Browser des Benutzers zugreifen kann, ist es ziemlich einfach, die Größe zu ermitteln. Da Sie warten müssen, bis das Bild geladen ist, möchten Sie sich in das
onload
Ereignis für einbindenimg
.quelle
Dies ist der einfachste Weg, um die Größe zu überprüfen
Überprüfen Sie die spezifische Größe. Am Beispiel 100 x 100
quelle
Funktion validateimg (Strg) {
quelle
Hängen Sie die Funktion an die onchange-Methode des Eingabetyps file / onchange = "validateimg (this)" / an
quelle
quelle
quelle