Foros del Web » Programando para Internet » Javascript »

Obtener el tamaño(kb) de una imagen

Estas en el tema de Obtener el tamaño(kb) de una imagen en el foro de Javascript en Foros del Web. Hola a todos, Como puedo saber el tamaño(en Kb) y las dimensiones en pixeles para poder validarlos y q solo se acepte imagenes de un ...
  #1 (permalink)  
Antiguo 23/05/2005, 16:54
hmv
 
Fecha de Ingreso: abril-2005
Mensajes: 323
Antigüedad: 19 años
Puntos: 0
Busqueda Obtener el tamaño(kb) de una imagen

Hola a todos,
Como puedo saber el tamaño(en Kb) y las dimensiones en pixeles para poder validarlos y q solo se acepte imagenes de un determinado tamaño.

La imagen se selecciona a traves del <input type=file name='imagen'>

Muchas gracias
  #2 (permalink)  
Antiguo 23/05/2005, 17:54
hmv
 
Fecha de Ingreso: abril-2005
Mensajes: 323
Antigüedad: 19 años
Puntos: 0
Ya lo hice, aplique PHP dentro de Javascript. Lo pongo para a quienes les interese.
Código PHP:
<script language="JavaScript">
function round(number,X) {
// rounds number to X decimal places, defaults to 2
X = (!X ? 2 : X);
return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

function devolver_tamano(foto)
{
var arch1="<? echo filesize(foto)?>"
alert(round(arch1/1024,2)+" KB");
}
devolver_tamano("foto.jpg");
</script>
  #3 (permalink)  
Antiguo 24/05/2005, 03:22
hmv
 
Fecha de Ingreso: abril-2005
Mensajes: 323
Antigüedad: 19 años
Puntos: 0
Este codigo es sin incrustaciones de php, es mejor.

function round(number,X) {
// rounds number to X decimal places, defaults to 2
X = (!X ? 2 : X);
return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

function devolver_tamano()
{
var myImg = new Image();
myImg.src = document.frm.file.value;

var width = myImg.width;
var height = myImg.height;
var size = myImg.fileSize;
alert(round(size/1024,2)+ " KB");
}
  #4 (permalink)  
Antiguo 24/05/2005, 04:15
hmv
 
Fecha de Ingreso: abril-2005
Mensajes: 323
Antigüedad: 19 años
Puntos: 0
Halgo importante, esto solo funciona en IE, en netscape NO

Si alguien sabe como hacerlo para q funcione en otros navegadores, sria excelente.

Gracias
  #5 (permalink)  
Antiguo 25/05/2005, 17:40
hmv
 
Fecha de Ingreso: abril-2005
Mensajes: 323
Antigüedad: 19 años
Puntos: 0
No pense q a tantos les interesaria este tema jejeje.
  #6 (permalink)  
Antiguo 25/05/2005, 18:02
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 1 mes
Puntos: 2
Hola!

Realmente es mas seguro en PHP, el procedimiento de JS no creo que sea seguro, y la funcion de PHP que pusiste no va a funciona bien, no puedes hacer algo como:

devolver_tamano(foto1); //Te imprimira un valor estatico que pusiste desde PHP
devolver_tamano(foto2); //Te imprimira un valor estatico que pusiste desde PHP

Entonces, necesitas algo que desde php generas esas medidas que vas a necesitar, en el HTML estan como estaticas que puedes usar, algo como:

echo "var foto1 = " . (string)filesize(foto1);
echo "var foto2 = " . (string)filesize(foto2);
echo "var foto3 = " . (string)filesize(foto2);

Entonces eso generara en tu HTML variables que ya tienen los valores, entonces en tu HTML, para saber la medida de tus fotos haces algo como:

function devolver_tamano(numfoto)
{
if (numfoto = 1) alert(foto1);
if (numfoto = 2) alert(foto2);
if (numfoto = 3) alert(foto3);
}

Pero bueno, es solo una sugerencia porque no me parece seguro el metodo de JavaScript sin PHP, por otra parte en ligar de variables puedes tener un arreglo.

Suerte!!.
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #7 (permalink)  
Antiguo 26/05/2005, 00:59
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Cita:
Iniciado por hmv
No pense q a tantos les interesaria este tema jejeje.
Hola hmv:

Cuando iba a responderte, te autocontestaste... mi respuesta hubiera sido con la recomendación de que usaras un lenguaje en el servidor, ya que sabía que filesize solo funciona en explorer, y también te contestaste...

Lo que te puedo decir, sobre el uso de javascript, es que si la imagen no se ha cargado, podrías obtener un dato falso, igual que los datos de las dimensiones.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 20:48.