Foros del Web » Programando para Internet » Javascript »

Subir imagen con tamaño limite

Estas en el tema de Subir imagen con tamaño limite en el foro de Javascript en Foros del Web. Holas como puedo hacer un Upload de una imagen pero dandole un tamño y peso limite, por ejemplo si el sistema solo admite hasta 300Kb,250 ...
  #1 (permalink)  
Antiguo 18/08/2004, 14:50
 
Fecha de Ingreso: enero-2002
Ubicación: Callao - Perú
Mensajes: 1.127
Antigüedad: 22 años, 2 meses
Puntos: 0
Pregunta Subir imagen con tamaño limite

Holas como puedo hacer un Upload de una imagen pero dandole un tamño y peso limite, por ejemplo si el sistema solo admite hasta 300Kb,250 ancho y 300 de alto. Y alguien quiere subir una imagen superior a cualquiera de los datos anteriores se le niegue subir..Es posible con AsP o se tiene q hacer con jAVASCRIPT????

gRACIAS DE ANTEMANO
__________________
SaLuDoS dE:
PePeLuChO dEl PeRú PaRa El MuNdO
  #2 (permalink)  
Antiguo 23/08/2004, 12:02
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 4 meses
Puntos: 317
Hola PePeLuChO :

se me ocurre que a la imagen hay que medirla antes de enviarla; y si hay que trabajar del lado cliente lo mejor es usar JavaScript.

Este código funciona por lo menos en IE. Le agregué un "validador" más para saber si lo que te están mandando es realmente una imagen.

Código:
<html>
<head> <title> SÓLO IMÁGENES CON TAMAÑO MÁXIMO</title>
<script>
var msj="";
var error , foto;

function validarFoto(){
error=0;
foto=new Image();
foto.src=document.formulario.origen.value;
document.formulario.imagen.src=foto.src;
if(error==0){
if(foto.width>250)msj+="» Ancho no válido.\r\n";
if(foto.height>300)msj+="» Alto no válido.\r\n";
if(foto.fileSize>300000)msj+="» Peso no válido.";
}
else msj="Verifique la ruta.\r\nEl archivo no es una imagen válida o está dañado.";

if(msj!="")alert(msj);
else alert("\tEnviando . . .\r\n"+foto.src)
window.status=foto.width+"×"+foto.height+" "+foto.fileSize+" bytes";
msj="";
error=0;
}
</script>
<style>
</style>
</head>
<body>

<h2>Permite enviar imágenes de hasta <tt>250px × 300px</tt> y un peso de <tt>300K</tt>.</h2>

<form name="formulario">
<input type="file" name="origen">
<input type="button" value="Enviar" onclick=validarFoto()>
<img src="" width="0" height="0" name="imagen" onerror="error=1">
</form>

</body>
</html>
saludos

furoya
  #3 (permalink)  
Antiguo 24/08/2004, 04:08
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 1 mes
Puntos: 2
Hola furoya, e leido el código que has puesto y me parece muy interesante, una cosilla, sabrías por ejemplo como hacer para que me muestre un cargando que dure más o menos lo que le va a costar subirse ese archivo al servidor? eso podría hacerse de alguna forma?

Un saludo
__________________
asp, php, .net, adaptandose a las necesidades
  #4 (permalink)  
Antiguo 24/08/2004, 08:02
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 21 años, 11 meses
Puntos: 1284
Hola a todos:

Lo que pone furoya (¡Hola !) es válido para otros navegadores salvo por lo de filesize que solo lo soporta explorer (creo )... en tal caso para el tamaño pienso que sería mejor usar una página intermedia tipo CGI (en asp, php, perl...) que controle el tamaño de la imagen y actúe en consecuencia...

En otro mensaje que he participado, hay cosas que pueden interesar: http://www.forosdelweb.com/showthrea...ighlight=subir

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 25/08/2004, 09:49
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 4 meses
Puntos: 317
Hola todos :

encontre un bug en el código que puse más arriba, y es que si la máquina cliente es demasiado lenta para cargar su propia imagen, el escript que es más rápido interpreta que no hay imagen o toma los datos parcialmente. Ésto puede ocurrir en equipos viejos o muy "cargados" o adrede por el usuario. Quizá lo corrija en alguna futura versión. Aunque con lo del fileSize caricatos ( ) ya me desanimó.
saludos

furoya
  #6 (permalink)  
Antiguo 25/08/2004, 11:22
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 21 años, 11 meses
Puntos: 1284
Cita:
Iniciado por furoya
Hola todos :
... Aunque con lo del fileSize caricatos ( ) ya me desanimó.
saludos

furoya
No te desanimes que veo que vas por buen camino, pero como para subir archivos son necesarios los CGIs, sería fácil uno que solo averigue el tamaño del fichero y lo devuelva al "opener" ... ya sabes un formulario a un popup para que no se pierdan los datos, y al chequear el tamaño activar alguna función en la página madre y cerrarse ese popup...

Creo que así planteé la página mía, aunque al igual que tú, dejo mis cosas a medias...

Un abrazo
__________________
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 00:02.