2009-12-16 6 views
11

Questo è il mio problema. Carico xml dal mio database e lo spingo al client usando il codice. Ma il problema è che il browser apre automaticamente quel xml invece di offrirlo come download.Come si può forzare il browser a scaricare un file xml?

C'è un modo per forzare il browser a scaricare quel file e non a mostrarlo?

Sto lavorando in un ambiente C#, Asp.net (con IIS7).

Thx

risposta

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(); 
} 

Questo costringerà a scaricare il file e non visualizzare nel browser.

Questo funziona per qualsiasi tipo di file senza richiedere di specificare qualsiasi tipo speciale MIME .

+0

thx, questo fa il trucco bene. great – user29964

+0

Ho un problema che il metodo non funziona per la prima volta che lo scarico .. ma dalla seconda volta in poi, sta funzionando bene .. la prima volta, invece del 'filename' sta visualizzando il nome della pagina ' test1' .. qualche idea del perché ?? – william

+0

puoi postare qualche codice qui? –

1

Aggiungi un Content-Disposition: colpo di testa di attacco.

Problemi correlati