declarar mime type para que aparezca dialogo de descargar?

30/06/2004 - 15:16 por Luciano A. Ferrer | Informe spam
Amigos, alguien sabe como se hace para que cierto enlace a un PDF no sea
abierto en acrobat reader y, en cambio, aparezca el dialogo de descarga?
No todos los enlaces, sólo algunos...

se está utilizando php, apache...


-
Saludos!
Luciano A. Ferrer @work
 

Leer las respuestas

#1 Miguel Angel Da Vila
01/07/2004 - 08:40 | Informe spam
El header del archivo encargado de despachar el PDF (se trata de un php al
que apunta el vínculo), debe ser algo como:

header('Content-Disposition: attachment; filename="' . $filename . '.pdf"');
header('Content-Type: application/octetstream');

Que indica al navegador que debe tratar el archivo como attachment y le dice
que le enviará un tipo mime típico para downloads. En lugar del header para
abrir el PDF que sería:

header('Content-Disposition: inline; filename="' . $filename . '.pdf"');
header('Content-Type: application/pdf');

Siempre y cuando el php lea (usando fopen) o produzca (con una librería para
ello) el contenido del pdf y lo ponga en la salida al navegador. Creo que
con esto quedará. También hay el modo de mandar un header con
force-download, pero no tengo la sintaxis completa a la mano. Internet
Explorer usa un activex que lee las tres primeras líneas del PDF, si
encuentra %PDF-1.3%âãÏÓ, lo tratará de abrir con acrobat. En Mozilla es
posible configurar los "settings" de tipos mime para que trate los PDF como
downloads.

Un saludo
Miguel Angel Da Vila


"Luciano A. Ferrer" escribió en el mensaje
news:

Amigos, alguien sabe como se hace para que cierto enlace a un PDF no sea
abierto en acrobat reader y, en cambio, aparezca el dialogo de descarga?
No todos los enlaces, sólo algunos...

se está utilizando php, apache...


-
Saludos!
Luciano A. Ferrer @work


Preguntas similares