Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Descarga de ficheros con TIdHTTPServer (https://www.clubdelphi.com/foros/showthread.php?t=46450)

Val 01-08-2007 12:24:57

Descarga de ficheros con TIdHTTPServer
 
Hola foro!

Tengo una aplicación en la que con el TIdHTTPServer sirvo páginas dinámicas. El problema viene cuando quiero que el usuario se descargue archivos que genero también de forma dinámica. Es decir, muestro una página que tiene un formulario y según lo introducido en el formulario genero un archivo y trato de servirlo:

Servidor.ServeFile(Thread, ResponseInfo, Ruta);

Y en lugar de descargar el fichero el navegador muestra el contenido del mismo, un montón de simbolos raros. He probado a poner distintas extensiones que de otras webs puedo descargarme sin problema pero no hay forma, siempre obtengo el mismo resultado.

¿Alguna sugerencia?

Gracias

dec 01-08-2007 13:29:07

Hola,

Tienes que indicar en la cabecera HTTP el "mime type" del archivo. Si es un archivo JPG, por ejemplo, tienes que indicarlo. También puede ser (digo yo...) que trates de mostrar algún tipo de archivo que el navegador, simplemente, no puede mostrar, pero, creo que los tiros pueden ir por lo primero: es menester indicar en las cabeceras HTTP de respuesta el "mime type" del archivo en cuestión.

Val 01-08-2007 17:02:10

Exacto, justamente era eso.

Código Delphi [-]
ResponseInfo.ContentType := 'application/zip';     
ResponseInfo.CustomHeaders->Values['Content-Disposition'] := 'filename = ' + ExtractFileName(RutaZip);
FPrincipal.Servidor.ServeFile(Thread, ResponseInfo, RutaZip);

Gracias :)


La franja horaria es GMT +2. Ahora son las 11:01:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi