2009-12-16 26 views
11

Este es mi problema. me carga xml de mi base de datos y lo empuja al cliente utilizando código. Pero el problema es que el navegador se abre automáticamente que XML en lugar de ofrecerlo como una descarga.¿Cómo puede obligar al navegador a descargar un archivo xml?

¿Hay una manera de forzar su navegador para descargar ese archivo y no mostrarlo?

estoy trabajando en un C#, el medio ambiente Asp.net (con IIS 7).

Thx

Respuesta

20
protected void DisplayDownloadDialog() 
{ 
    Response.Clear(); 
    Response.AddHeader(
     "content-disposition", string.Format("attachment; filename={0}", "filename.xml")); 

    Response.ContentType = "application/octet-stream"; 

    Response.WriteFile("FilePath"); 
    Response.End(); 
} 

Esto obligará a descargar el archivo y no se mostrará en el navegador.

Esto funcionará para cualquier tipo de archivo sin necesidad de especificar ninguna tipo MIME especial.

+0

THX, esto hace el truco muy bien. gran – user29964

+0

Tengo un problema que el método no funciona para la primera vez que la descarga .. pero empezar desde segunda vez en adelante, se está trabajando bien .. la primera vez, en lugar del 'filename' está mostrando la página name' test1' .. alguna idea ¿por qué ?? – william

+0

¿Puedes publicar algún código aquí? –

1

Agregar una disposición de contenido: encabezado de archivo adjunto.

Cuestiones relacionadas