Desplegar archivos BLOB

Javier Valenzuela jvalenzuela en tecnova.cl
Vie Jun 22 09:46:56 CLT 2007


Hola lista, debo descargar unos archivos (doc, pdf, xls) que estan 
guardados integramente en la BD,
para mostrar mediante php encontré esto:

if(!empty($stmt->archivo)){
        header("Content-Type: $stmt->tipo; name=\"$stmt->nombre\"");
        //header("Content-Disposition: attachment; 
filename=\"$stmt->nombre\"");
        //header("Content-Disposition: inline; filename=\"$stmt->nombre\"");
        //header("Content-Disposition: extension token; 
filename=\"$stmt->nombre\"");
        print $stmt->archivo->load();
    }
Dejé los comentarios a los demas headers (lo explicaré despues)

El asunto es que dependiendo el navegador , la versión del acrobat (si 
es pdf) o si es la primera vez , o segunda que se hace click en el 
enlace de descarga, abre o no abre.
Como verán fui probando los distintos headers para mostrar la descarga 
(en si mismo, como archivo adjunto, extension token...)  para lograr una 
correcta descarga, y no que funcione a veces.
Aparte, los archivos .xls al poner el header "Content-Disposition: 
attachment;" se puede descargar y se ve sin problemas, pero si uno trata 
de abrir sin guardar, sale un error de que no se encuentra el archivo.
Asuman que el tipo MIME está bien puesto, ya que hice pruebas y todo 
funciona ok por ese lado.
Ah, todo esto ocurre en IExplorer, en Firefox corre de pelos.
Mis deducciones son:
1.- La BD se demora en enviar el contenido a veces y se marea IE
2.- Mi sistema de descarga es muy malo y existe uno mucho mejor que no 
encontré XD!

-- 
Por favor no haga Top Posting!
http://es.wikipedia.org/wiki/Top-posting

+-----------------------------+
|Javier Valenzuela P.         |
|Ingeniero de Desarrollo      |
|jvalenzuela en tecnova.cl       |
|-----------------------------|
|Fijo :  +(56)(02)594 23 05   |
|Anexo:  2305                 |
|Movil:  +(56)(08)188 91 13   |
+-----------------------------+



Más información sobre la lista de distribución PHP