| 

.NET C# Java Javascript Exception

0
Hallo,
ich habe einem (PDF) Stream, den ich gerne über den aktuellen HttpContext als Anhang öffnen möchte.
Die Sicherheitsstufe des IE ist Mittel was bedeutet das die automatische Eingabeaufforderung des Dateidownloads deaktiviert ist.
Mit dem Firefox funktioniert der Download, nur der IE läßt mich im Stich. Was kann ich tuen.
Anbei ein Auszug meines Quellcodes
try
{
MemoryStream MStream = (MemoryStream)Session["Stream"];
try
{
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=dummy.pdf");
HttpContext.Current.Response.BinaryWrite(MStream.ToArray());

}
catch
{
HttpContext.Current.Response.ContentType = "text/html";
HttpContext.Current.Response.Write("Fehler beim Herunterladen der Pdf-Datei");
}
finally
{
MStream.Flush();
MStream.Close();
}
}
catch
{
HttpContext.Current.Response.ContentType = "text/html";
HttpContext.Current.Response.Write("Fehler beim Herunterladen der Pdf-Datei");
}
finally
{
HttpContext.Current.Response.End();
}


EDIT: Schreibfehler im Titel korrigiert, Code-Tags hinzugefügt
News:
16.02.2011
schmidtchen 3 4
Was bedeutet "IE läßt mich im Stich"?
Gibt es eine Fehlermeldung?
Jürgen Gutsch 16.02.2011
Sorry
Eben nicht. Er unterdrückt den Aufruf der Downloadanforderung (Öffnen / Speichern Fenster).
schmidtchen 16.02.2011
2 Antworten
1
Wenn der IE den Download unterdrückt, kann das daran liegen, dass dieser per JavaScript aufgerufen wird (also nur indirekt vom Benutzer).

Generell sollten Downloads per HttpHandler (siehe Daten mit ASP.NET zum Client schicken, oder: Wieso eigentlich HttpHandler?) an den Client gesendet werden. Damit werden schon einige weitere Probleme erschlagen.

Damit der IE den Doenlaod auf alle Fälle akzeptiert, sollte dieser per direktem Link aufgerufen werden oder mindestens über einen onClick-Eventhandler.
16.02.2011
Jürgen Gutsch 1,1k 4 7
Du hattest recht, ich habe das Fenster per JavaScript geöffnet. Wenn ich den Response auf der selben Seite Erzeuge funktioniert es.
Vielen Dank dafür
schmidtchen 16.02.2011
0
Eben nicht. Er unterdrückt den Aufruf der Downloadanforderung (Öffnen / Speichern Fenster).
16.02.2011
schmidtchen 3 4
1
Bitte ergänzungen als Kommentar (siehe oben) hinzufügen, sonst ists aus dem Kontext gerissen...
Jürgen Gutsch 16.02.2011

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH