Foros del Web » Programando para Internet » PHP »

problemas al descargar imagenes: solo con imagenes

Estas en el tema de problemas al descargar imagenes: solo con imagenes en el foro de PHP en Foros del Web. Hola a tod@s, tengo un pequeño problema con unas descargas desde mi web. Existe la posibilidad de descargarse de la misma, tanto imágenes, como vídeos, ...
  #1 (permalink)  
Antiguo 10/06/2004, 04:04
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años
Puntos: 0
problemas al descargar imagenes: solo con imagenes

Hola a tod@s,
tengo un pequeño problema con unas descargas desde mi web. Existe la posibilidad de descargarse de la misma, tanto imágenes, como vídeos, como textos. Si la descarga se hace de un vídeo o de un texto, no hay ningún problema; el problema está cuando lo que se descarga es un imagen, ya que te la bajas a tu equipo, sin ningún problema aparente, pero después no se abre... sabe alguien por qué puede ser?

Gracias a tod@s. Un saludo.
  #2 (permalink)  
Antiguo 10/06/2004, 08:35
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años
Puntos: 0
nadie puede ayudarme?

el codigo q tengo para subir los archivos es este

Código PHP:
$dir $_SERVER['DOCUMENT_ROOT']."Archivos/";
$dir .= $_FILES['fichero']['name'];
if ( 
move_uploaded_file($_FILES['fichero']['tmp_name'], $dir) )
{
  
$consul "insert into ficheros (nombreFich, url) values (";
  
$consul .= "('".$_FILES['fichero']['name']."','".$dir."')";
  
mysql_query($consul);

y el script para descargarlos este

Código PHP:
<?
$consul 
"select url,nombreFich from archivos where id=".$_GET['id'];
$resul mysql_query($consul);
$reg mysql_fetch_array($resul);
header("Content-Disposition: attachment; filename=".$reg['nombreFich'].""); 
header("Content-Type: application/force-download");
readfile($reg['url']);
exit;
?>

Es el mismo código para todo tipo de archivo, pero solo cuando me bajo una imagen, no es posible abrirla en mi equipo. Alguien sabe por que? please?
  #3 (permalink)  
Antiguo 10/06/2004, 16:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Que es eso de "no puedo abrirla"? .. decribe mejor el problema...

Seguro que el archivo en sí queda almacenado en tu BD correctamente (con su tamaño completo)?

Un saludo,
  #4 (permalink)  
Antiguo 11/06/2004, 01:27
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años
Puntos: 0
Cita:
Que es eso de "no puedo abrirla"? .. decribe mejor el problema...
Con eso de "no puedo abrirla" lo que quiero decir, es que una vez que me descargo la imagen del servidor, hago doble clic, y se me abre el explorador con una:

X

en vez de la imagen
  #5 (permalink)  
Antiguo 11/06/2004, 06:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y .. tu has abierto ese archivo con algún editor (notepad mismo) para ver que contiene tu archivo? ..

Un archivo de imagen .. empieza con "algo legible" que se "vé" que dice el formato de la imagen (JPG, GIF .. ) o algo así seguida de un montón de carctares hexadecimales ("raros") que es el própio archivo binario.

El caso es que si el archivo en sí lo puedes "bajar" ahora habrá que ver si el archivo se guardó correctamente en tu Base de datos. NO sé si usaras algún GUI para Msyql que puedas ver los campos "BLOD" (como Navicat, EMS Mysql Manager o similar para Windows por ejemplo) .. pero lo ideal es que constates primero que tu archivo quedó bien insertado en el campo que corresponda de tus tablas/BD.

Un saludo,
  #6 (permalink)  
Antiguo 11/06/2004, 06:59
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años
Puntos: 0
En la Base de Datos se debe de guardar bien porque la imagen en el servidor, se previsualiza perfectamente. Es cuando me la descargo a mi ordenador, cuando no puedo visualizarla con ningun programa
  #7 (permalink)  
Antiguo 11/06/2004, 07:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues ..como no sea que no te está bajando todo el archivo (completo) o se "corrompe"? ...

El caso es que podrías usar más cabeceras HTTP para indicar entre otras cosas el tamaño del archivo que vas a descargar (por si hay problemas de ese tipo con tu navegador de pruebas).

En www.php.net/header . .en los comentarios de los usuarios tienes ejemplos.

¿Por cierto . .has probato tu aplicación en otros navegadores y PC's a bajar esos archivos?.

Un saludo,
  #8 (permalink)  
Antiguo 11/06/2004, 07:57
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años
Puntos: 0
¿Cómo puedo saber si me he bajado el archivo completo o si esta corrupto?
Cuando me bajo el archivo, el tamaño que tiene, es el mismo que el indicado en el servidor...
Además, ¿por qué solo ocurre con los archivos de imágenes? Si me bajo un pdf o un video, no tengo problemas.
  #9 (permalink)  
Antiguo 11/06/2004, 08:13
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años
Puntos: 0
ademas, yo accedo al directorio del servidor donde almaceno los archivos que subo... y puedo abrir las imagenes desde ahi, luego subirse, se suben bien al servidor.
  #10 (permalink)  
Antiguo 11/06/2004, 08:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues .. no sé que sucede con ese caso concreto .. será un Expediente X? xD

Un saludo,
  #11 (permalink)  
Antiguo 14/06/2004, 05:17
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años
Puntos: 0
He probado a descargarme los archivos desde otros ordenadores y otros navegadores, y ocurre exactamente igual.
Algo tiene que haber mal en el código... y no se el qué.
¿?
  #12 (permalink)  
Antiguo 22/06/2004, 07:36
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años
Puntos: 0
Bueno... sigo sin solucionar el problema.

Y necesito que esto funcione . Asi es que, si por aqui no llego a ningun lado, ya que parece que a nadie le ha pasado nada parecido, y nadie sabe como solucionarlo, pregunto otra cosa: hay otra manera de obligar la descarga de un archivo? y como se hace?

Muchas gracias a tod@s. Un saludo.
  #13 (permalink)  
Antiguo 22/06/2004, 08:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
hay otra manera de obligar la descarga de un archivo? y como se hace?

Linkeandolo directo .. crea links tipo:
<a href="<? echo "ruta_si_corresponde/".$row['url'] ?>">bajatelo de aquí</a>

El navegador ya verá lo que hace con el tipo de archivo que sea .. así no podras "forzar" la descarga de archivos tipo imagens, PDF y similares que son asociados por el navegador.

Un saludo,
  #14 (permalink)  
Antiguo 22/06/2004, 09:57
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años
Puntos: 0
El problema es que la mayor parte de los archivos para descargar son imágenes (jpg y gif) y pdfs.
Asi es que, Cluster, o hago funcionar la forma inicial usando header, o nada de nada, no?
Un saludo
  #15 (permalink)  
Antiguo 22/06/2004, 11:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues .. si no usas cabeceras HTTP (via header()) no podrás "forzar" a tu navegador para que lo descarge.

Un navegador (cualquiera) cuando recibe unos datos .. busca su formato MIME y en función de este (como cliente que es) lo intenta asociar a su "visor/programa" adecuado .. El caso de imagenes tipo gif/jpg las interpreta el mismo navegador .. los PDF se los manda al "plug-in" si está instalado .. los .doc/.xls .. etc al "office" si está instalado .. y todos los demás que no "asocia" los entrega para descarga.

Un saludo,
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:01.