Comunidad de diseño web y desarrollo en internet online

Validacion de Imagen

Citar            
MensajeEscrito el 13 Feb 2008 02:49 am
Necesito validar de una imagen su resolucion, la imagen se sube a un formulario mediante un imput file el metodo que he echo para mal funcina solo en IE y no en firefox miren el codigo:

Código :

function validateImage(filename,desiredWidth,desiredHeight)
{
  var picture;
  picture = new Image();
  picture.src =filename;
  
  alert( 
       picture.width+"  X "+ picture.height+
      "  ->"+
      ( (picture.width == desiredWidth ) && 
        (picture.height == desiredHeight)  ) 
      );
      
  return ( (picture.width == desiredWidth )&& 
          (picture.height == desiredHeight) ); 
         
}

agradesco cualquier ayuda

Por rolo2010

3 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Feb 2008 09:59 am
Te cuento:

Leer una imagen LOCAL, desde javascript, es considerado un "ataque" al usuario que visita tu web.
Firefox, bloquea todas las intrusiones de este tipo (por algo es considerado un buen navegador)
Si quieres hacer algo así, deberías subir la imagen a tu server medante el mismo formulario, y validarla desde PHP, o ya con el javascript una vez subida.

En local, se puede hacer algo, pero se comporta de manera extraña.

NOTA: en teoría, se puede configurar elFireFox para deshabilitar esta "seguridad que nos brinda", pero ha de hacerlo cada usuario, con su FireFox (y aunque he conseguido hacerlo para otros fines (travian), no he conseguido que funcione con este script)


OBSERVACIÓN:

rolo2010 escribió:

Necesito validar de una imagen su resolucion [...]
¿resolución?
Por "resolución", se entiende "pixeles por pulgada" (ppp), o "tamaño por pixeles" (MB/px), y aún así, es un concepto que depende del medio de impresión, y de cualidades "sensoriales".
Lo que tú mides, es "tamaño", a palo seco... y eso, no garantiza más que unas determinadas dimensiones (sabiendo que, una imagen de 1024x768, puede tener peor "resolución" que otra de 800x600)

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 13 Feb 2008 01:06 pm
Hola, dos cosas:

1. rolo2010, aprende a usar la etiqueta de código escribe sin espacio [ code ] al inicio del código que vayas a poner en el foro y [ / code ] al final (recuerda, sin espacios.
2. En efecto, no puedes "validar" la resolución de una imagen, lo que si puedes es usar algún lenguaje como PHP para ajustar el tamaño de la imagen, sabiendo que con esto no estás libre de perder algo de calidad.

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 13 Feb 2008 02:00 pm
Bueno... sí se puede "validar" el tamaño, pero se me ocurre que debería dar dos pasos:
envío.html (form de envío de imagen):
<form action="recepcion_validacion.php" />

recepcion_validacion.php (el php pone la imagen, el script la valida):

Código :

<?php if (exist 'imagen_subida.jpg')
      {
?>
       <script>
       window.onload=function()
       {var picture;
        var desiredWidth = 1024;
        var desiredHeight = 768;
        picture = document.getElementById('IMG');
        if ( (picture.width >= desiredWidth ) && (picture.height >= desiredHeight) )
             {document.getElementById('status_IMG').innerHTML='Imagen enviada correctamente';}
         else
             {document.getElementById('status_IMG').innerHTML='Imagen con resolución insuficiente.<br />';
              document.getElementById('status_IMG').innerHTML+='<href="envío.html">volver a enviar</a>';
             }
       }
       </script>
       <body>
       <img src="<?php echo 'imagen_subida.jpg'; ?>" id="IMG" />
       <div id="status_IMG"></div>
       </body>
<?php
      }
 else
      {
?>
       <body>
       <div id="status_IMG">No se recibió la imagen.<br /><href="envío.html">volver a enviar</a></div>
       </body>
<?php
      }
?>


Con algo así, debería funcionar la validación correctamente en cualquier navegador.

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 13 Feb 2008 02:13 pm

rizome escribió:

Bueno... sí se puede "validar" el tamaño...


Es lo mismo que ya se había dicho.

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 13 Feb 2008 04:58 pm

Aoyama escribió:

rizome escribió:

Bueno... sí se puede "validar" el tamaño...
Es lo mismo que ya se había dicho.
:oops:
Entonces... te malentendí esto:

Aoyama escribió:

2. En efecto, no puedes "validar" la resolución de una imagen, lo que si puedes es usar algún lenguaje como PHP para ajustar el tamaño de la imagen [...]

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 13 Feb 2008 09:32 pm
Gracias por toda la ayuda, si no puedo hacerlo de parte del cliente, me haria falta que fuera de parte del servidor pero pro desgracia lo que sabe todo el mundo es PHP y yo obligatoriamente tengo que usar Java, si me dan un link para hacerlo con Java se lo agradesco un mundo.

Por rolo2010

3 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Feb 2008 10:01 pm
¿porq no puedes usar php?
¿Es para un trabajo académico?
:S

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.