Foros del Web » Programando para Internet » Javascript »

Problema Previsualizacion de Imagenes

Estas en el tema de Problema Previsualizacion de Imagenes en el foro de Javascript en Foros del Web. Seleccione una imagen <br> Código HTML: <input type= "file" onChange= "document.imagen.src='file:///' + this.value" > <br> <br> Vista previa: <br> <br> <img src= "imagen_defecto.png" name= "imagen" ...
  #1 (permalink)  
Antiguo 11/12/2006, 10:07
 
Fecha de Ingreso: marzo-2005
Mensajes: 43
Antigüedad: 19 años, 1 mes
Puntos: 0
Problema Previsualizacion de Imagenes

Seleccione una imagen <br>
Código HTML:
<input type="file" onChange="document.imagen.src='file:///' + this.value"><br><br>
Vista previa:<br><br>
<img src="imagen_defecto.png" name="imagen"> 
al parecer no sirve en IE7, alguna idea?
Gracias
  #2 (permalink)  
Antiguo 19/01/2007, 12:35
Avatar de midpunto  
Fecha de Ingreso: enero-2004
Ubicación: España Palma de mallorca
Mensajes: 118
Antigüedad: 20 años, 3 meses
Puntos: 0
De acuerdo Re: Problema Previsualizacion de Imagenes

Yo tengo el mismo problema, antes de las respectivas actualizaciones de firefox e IE funcionaba pero con las ultimas versiones no, alguna ayuda??
  #3 (permalink)  
Antiguo 19/01/2007, 13:07
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Problema Previsualizacion de Imagenes

Hola ktulu_red y midpunto

Acabo de probar el código en IE 7 y Firefox y me ha funcionado bien

Saludos,
  #4 (permalink)  
Antiguo 19/01/2007, 13:18
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Problema Previsualizacion de Imagenes

Cita:
Iniciado por JavierB Ver Mensaje
Hola ktulu_red y midpunto

Acabo de probar el código en IE 7 y Firefox y me ha funcionado bien

Saludos,
Hola:

Creo que con un servidor normal (apache) no va a funcionar... es un tema que hemos tratado en varias ocasiones y la conclusión que recuerdo sobre este tema es que debe subirse para que sea visible...

JavierB: Lo has probado en un "localhost"... porque en el mio no va.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 19/01/2007, 13:26
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Problema Previsualizacion de Imagenes

Cita:
Iniciado por caricatos Ver Mensaje
JavierB: Lo has probado en un "localhost"... porque en el mio no va.
Esto me produce una sensación de déjà vu Me parece que ya ocurrió algo parecido en otro mensaje.

Tal como dices, caricatos, en "localhost" no funciona con IE 7

Saludos,
  #6 (permalink)  
Antiguo 19/01/2007, 15:55
Avatar de midpunto  
Fecha de Ingreso: enero-2004
Ubicación: España Palma de mallorca
Mensajes: 118
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Problema Previsualizacion de Imagenes

Hola... tanto en local como on line en IE7 si agregas a sitios de confianza internet y extranet si funciona con este codigo:

Código HTML:
<script type="text/javascript">
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
</script>
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
<input name="form_data" type="file" class="botonera" id="img12" onBlur="LimitAttach(this,1);" onChange="MM_swapImage('previo1','',document.form2.form_data.src='file:///' + this.value,1)">
</form> 
en cambio en firefox 2 no va...
  #7 (permalink)  
Antiguo 20/01/2007, 02:40
Avatar de midpunto  
Fecha de Ingreso: enero-2004
Ubicación: España Palma de mallorca
Mensajes: 118
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Problema Previsualizacion de Imagenes

Es un tema de seguridad con links locales que tiene el firefox por razones de seguridad te bloquea, si abris la consola de errores lo pone cuando cargas la imágen... Alguna idea?
Saludos...
  #8 (permalink)  
Antiguo 20/01/2007, 05:25
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Problema Previsualizacion de Imagenes

Hola:

En vez de mostrar en un tag img se podría mostrar en un iframe

La idea es cambiar el action hacia un script que visualice la imagen, enviar el formulario a un iframe y luego volver a cambiar el action al original... el script php que preparé es el siguiente:

Código:
<?
$Ok = isset($_FILES["f"]);

$url = ($Ok) ? $_FILES["f"]["tmp_name"] : "../postales/Comic/erotico029.gif";
$tipo = ($Ok) ? $_FILES["f"]["type"] : "image/gif";
 
$contenido = fread(fopen($url, "rb"), filesize($url));
$tam = filesize($url);
$imagen = imagecreatefromstring(file_get_contents($url));
$ancho = imagesx($imagen);
$alto = imagesy($imagen);
imagedestroy($imagen);

/*
$datos = explode("/", $PHP_SELF);
$yo = $datos[count($datos) - 1];

if ($yo == "prever.php")
echo "location: $PHP_SELF?ancho=$ancho&alto=$alto&tam=$tam";
*/
header("Content-type: $tipo");
echo $contenido;
?>
En este caso el campo file debe tener el nombre "f"... y el ejemplo (muy básico) sería:

Código:
<html>
	<head>
		<title>
			recepción
		</title>
		<script type="text/javascript">
function prever(f) {
 tempaction = f.form.action;
 temptarget = f.form.target;
 f.form.action = "prever.php";
 f.form.target = "nuevo";
 v = window.open("", "nuevo", "width=100,height=100");
 f.form.submit();
 document.images.src = "prever.php";
 v.close();
 f.form.action = tempaction;
 f.form.target = temptarget;
 
}

function dimensionar(vp) {
datos = window.frames.nuevo.location.href;

//alert(window.frames.nuevo.scrollbars);
}

		</script>
	</head>
	<body >
<form action="receptor.php" method="post" target="_blank" enctype="multipart/form-data" name="formu">
<input type="file" name="f" />
<input type="text" name="dato" value="Introducir dato" />
<button type="button" onclick="prever(this)">prever</button>
<button type="submit">enviar</button>
</form>
<iframe id="vistaPrevia" name="nuevo" src="prever.php" onload="dimensionar(this)"/></iframe>
</body>
</html>
En el probador: Probador de scripts se puede probar...

Lo malo es que habría que rebuscarselas para obtener datos como las dimensiones y el tamaño...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 20/01/2007, 07:51
Avatar de midpunto  
Fecha de Ingreso: enero-2004
Ubicación: España Palma de mallorca
Mensajes: 118
Antigüedad: 20 años, 3 meses
Puntos: 0
De acuerdo Re: Problema Previsualizacion de Imagenes

Muchas gracias!! Una posible y buena solución, por mi parte comenzaré a testearla a ver que tal. Saludos y gracias otravez .
  #10 (permalink)  
Antiguo 20/01/2007, 09:43
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Problema Previsualizacion de Imagenes

Hola:

La verdad es que eché algunas horas haciendo pruebas, y por eso hay alguna línea "incomprensible" como la función dimensionar... pretendía dimensionar el iframe con los valores de la imagen, pero después de muchas pruebas, desistí, aunque creo que "se puede trabajar"... tal vez usando sesiones php sea mejor... o enviar otro formulario a otro marco o a un popup... ¿?...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #11 (permalink)  
Antiguo 03/07/2008, 09:57
 
Fecha de Ingreso: octubre-2007
Mensajes: 4
Antigüedad: 16 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Re: Problema Previsualizacion de Imagenes

Caricatos Muchas Gracias Viejo, el codigo esta de fabula, justo lo que necesitaba!!

Excelente aporte!!!
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




La zona horaria es GMT -6. Ahora son las 13:15.