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