Tengo un JPS con un formulario en el que un usuario puede poner una imagen:
<div class="photo">
<div>Photo (max 240x240 and 100 kb):</div>
<input type="file" name="photo" id="photoInput" onchange="checkPhoto(this)"/>
</div>
He escrito este js:
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;
}
que funciona bien para verificar el tipo y tamaño de archivo. Ahora quiero comprobar el ancho y el alto de la imagen, pero no puedo hacerlo.
Lo he intentado target.files[0].width
pero lo consigo undefined
. Con otras formas lo consigo 0
.
¿Alguna sugerencia?
En mi opinión, la respuesta perfecta que debe solicitar es
fuente
Estoy de acuerdo. Una vez que se carga en un lugar al que el navegador del usuario puede acceder, es bastante fácil obtener el tamaño. Como necesita esperar a que se cargue la imagen, querrá conectarse al
onload
evento paraimg
.fuente
Esta es la forma más sencilla de comprobar el tamaño.
Verifique el tamaño específico. Usando 100 x 100 como ejemplo
fuente
function validateimg (ctrl) {
fuente
Adjunte la función al método onchange del tipo de entrada file / onchange = "validateimg (this)" /
fuente
fuente
fuente