2009-12-16 9 views
11

Das ist mein Problem. Ich lade XML aus meiner Datenbank und schiebe es mit Code zum Client. Aber das Problem ist, dass der Browser dieses XML automatisch öffnet, anstatt es als Download anzubieten.Wie können Sie den Browser zwingen, eine XML-Datei herunterzuladen?

Gibt es eine Möglichkeit, Ihren Browser zu zwingen, diese Datei herunterzuladen und nicht anzuzeigen?

Ich arbeite in einer C#, Asp.net-Umgebung (mit IIS7).

Thx

Antwort

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

Dies zwingt die Datei herunterzuladen und nicht im Browser angezeigt werden.

Dies wird für alle Dateitypen arbeitet ohne jeden speziellen MIME-Typen angeben zu müssen.

+0

thx, das macht den Trick gut. great – user29964

+0

Ich habe ein Problem, dass Methode funktioniert nicht zum allerersten Mal herunterladen .. aber ab dem 2. Mal ab, es funktioniert gut .. das erste Mal, anstelle der 'Dateiname' es zeigt den Seitennamen' test1' .. irgendeine Idee warum? – william

+0

können Sie hier einen Code posten? –

1

Fügen Sie eine Content-Disposition hinzu: Anhang Header.

Verwandte Themen