Foros del Web » Programando para Internet » Javascript »

Conocer tamaño de imágen y asignar a campos de formulario

Estas en el tema de Conocer tamaño de imágen y asignar a campos de formulario en el foro de Javascript en Foros del Web. Hola, necesito saber el tamaño de una imágen al subirla al servidor para usar esos valores más adelante. He encontrado este código y parece que ...
  #1 (permalink)  
Antiguo 16/05/2014, 05:53
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 4 meses
Puntos: 8
Conocer tamaño de imágen y asignar a campos de formulario

Hola, necesito saber el tamaño de una imágen al subirla al servidor para usar esos valores más adelante. He encontrado este código y parece que funciona, aunque en realidad en el alert siempre me salen como valores 28 y 30, independientemente del tamaño de la imágen.

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <script>
  4. function CargaImagen() {
  5.     var filename = document.form1.imagen.value;
  6.     var Img = new Image();
  7.     Img.src = filename;
  8.     document.images[0].src = Img.src;
  9. }
  10.  
  11. function ComprobarArchivo(){
  12.     wth = document.images[0].width;
  13.     hgt = document.images[0].height;
  14.     if (document.form1.imagen.value=="") {
  15.         alert('no has seleccionado ninguna imagen');
  16.     }
  17.     else {
  18.         alert('Las medidas de la imagen son: Ancho='+wth+'Alto='+hgt);
  19.        
  20.     }
  21. }
  22. </script>
  23.  
  24. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  25. <title>Upload de imágenes con validación de tamaño en el cliente</title>
  26. </head>
  27. <body>
  28. <h4>UPLOAD DE IMÁGENES CON VALIDACIÓN DE TAMAÑO EN EL CLIENTE</h4>
  29. <form method="POST" enctype="multipart/form-data" action="upload.asp" name="form1">
  30. <input type="file" name="imagen" size="20" onchange="CargaImagen()">
  31. <input name="Enviar" type="submit" onclick="ComprobarArchivo()" value="Enviar">
  32. </form>
  33. </body>
  34. </html>

Pero es que además, lo he adaptado para que me asigne esos valores a dos campos hidden del formulario, pero pasa de mi, no hace nada en absoluto, ni saca el alert, ni asigna los valores... El código ha quedado tal que así:

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <title>Insertar Archivo</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <script>
  6. function CargaImagen() {
  7.     var filename = document.form1.fichero.value;
  8.     var Img = new Image();
  9.     Img.src = filename;
  10.     document.images[0].src = Img.src;
  11. }
  12.  
  13. function ComprobarArchivo(){
  14.     wth = document.images[0].width;
  15.     hgt = document.images[0].height;
  16.     if (document.form1.imagen.value=="") {
  17.         alert('no has seleccionado ninguna imagen');
  18.     }
  19.     else {
  20.         alert('Las medidas de la imagen son: Ancho='+wth+' Alto='+hgt);
  21.         document.form1.ancho.value=wth;
  22.         document.form1.alto.value=hgt;
  23.         document.form1.submit();
  24.     }
  25. }
  26. </script>
  27.  
  28. </head>
  29.  
  30. <body bgcolor="#093969" link="#000000" vlink="#000000" alink="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
  31. <div align="center"> <font face="Arial, Helvetica, sans-serif" size="6,5" color="#FFFFFF"></font></div>
  32. <form action="Subir_Fich.asp" method="post" enctype="multipart/form-data" name="form1" id="form1">
  33.   <div align="center">
  34.     <table width="30%" border="0" align="center">
  35.    
  36.       <tr>
  37.         <td bgcolor="#093969">
  38.           <div align="left"></div>          
  39.           <div align="center">
  40.             <input name="fichero" type="file" size="20" onchange="CargaImagen()">
  41.            
  42.             <input name="ancho" type="hidden" id="ancho">
  43.             <input name="alto" type="hidden" id="alto">
  44.           </div></td>
  45.       </tr>
  46.       <tr>
  47.         <td>
  48.           <div align="center">
  49.             <input name="enviar" type="submit" id="enviar" value="Cambiar Imagen" onclick="ComprobarArchivo()">
  50.             <br>
  51.           </div>
  52.         </td>
  53.       </tr>
  54.     </table>
  55.   </div>
  56. </form>
  57.  
  58. </body>
  59. </html>

Alguien podría decirme porque no funciona, y que he de hacer para poder usarlo, por favor?? Muchas gracias por adelantado, salu2
__________________
Vayamos por Partes :: Jack el Destripador
  #2 (permalink)  
Antiguo 16/05/2014, 06:18
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Conocer tamaño de imágen y asignar a campos de formulario

Código Javascript:
Ver original
  1. Img.src = filename;

Puede tenga algun error pero no tiene sentido sigamos dandole vueltas al asunto porque NO VA A FUNCIONAR en Chrome por ejemplo debido a restricciones de seguridad para acceder al filesystem

Te comento: debes hacerlo todo del lado del servidor --quizas Ajax--


Mas aqui
__________________
Salu2!
  #3 (permalink)  
Antiguo 20/05/2014, 00:21
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 4 meses
Puntos: 8
Respuesta: Conocer tamaño de imágen y asignar a campos de formulario

Pues que lástima :( Gracias por la respuesta
__________________
Vayamos por Partes :: Jack el Destripador
  #4 (permalink)  
Antiguo 20/05/2014, 00:41
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Conocer tamaño de imágen y asignar a campos de formulario

Hola:

No sé si actualmente hay solución (creo que sí), pero desde siempre ha sido necesario subir la imagen para obtener ese dato: Revisar las imágenes antes de subirlas.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: formulario, hidden, tamaño
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:20.