Hola:
Justamente estoy intentando hacer un artículo sobre el chequeo de imágenes antes de subirlas "definitivamente" y que funcione al menos en los 3 navegadores que manejo, así que desde un principio he omitido al atributo filesize que solo funciona en explorer...
La forma que estoy manejando es subir la imagen a un ventana (en mi caso un iframe que a la vez la pre-visualiza), desde esa ventana recojo los valores que me interesan y creo la imagen para obtener sus medidas, luego con los datos que he obtenido en la recepción del formulario, envío los resultados a la página principal para el chequeo...
En resúmen, creo que para que sea fiable tendrías que enviar la imagen...
El esquema html/javascript es más o menos así:
Código:
<input type="file" onchange="chequear_extension(this)"...>
y el chequeo:
function
Código:
checkear_extension(f) {
// definimos antes los métodos prever() y no_prever()
(/\.(gif|jpg|png)$/i.test(f.value)) ? prever() : no_prever();
}
La función prever es la que envía el formulario:
Código:
function prever() {
actionActual = f.form.action;
targetActual = f.form.target;
f.form.action = "previsor.php";
f.form.target = "ver";
f.form.submit();
f.form.action = actionActual;
f.form.target = targetActual;
}
Y no_prever() en un principio solo limpia el campo file...
Lo importante es que previsor.php tiene definido el body así:
onload='parent.darDatos($tam, $ancho, $alto)'
Ahora darDatos() puede procesar datos fiables.
Cuando depure algunas cosillas prepararé un ejemplillo.
Saludos