Frage zum Generic Handler

09/12/2009 - 14:29 von Maik T. | Report spam
Hallo,

ich habe mir einen Generic Handler erstellt, mit dem ich eine Datei zum
Download anbieten kann. Die Datei kommt aus einer Datenbank als byte-Array.
Rufe ich den Handler mit dem Internet Explorer auf, so geht der
Downloaddialog auf und er zeigt mir auch direkt das richtige Icon des
Programms an mit dem er die Datei öffnen würde.
Rufe ich die gleiche Sache nun mit dem Mozilla Firefox auf, so ist vor dem
Dateinamen nur das Firefox Zeichen und nicht das Icon der Standardanwendung
für die Datei zu sehen und in der Auswahlbox rechts neben dem "Öffnen mit",
steht auch nur "Firefox (Standard)" drin.

Muss ich vielleicht noch einen Parameter im Code setzen, damit der Firefox
das richtig mitbekommt, um welche Datei es sich handelt?

Hier mal mein Code der ProcessRequest-Methode:

*************************************************************************
public void ProcessRequest(HttpContext context)
{
// Hole mir das byte-Array aus der Datenbank
byte[] dok = _GetFileFromDb(context.Request.QueryString["ID"]);

// Dateiname, sowie Dateiendung ermitteln
string filename = context.Request.QueryString["FileName"];
string fileExt = context.Request.QueryString["Ext"];

context.Response.AddHeader("content-disposition", "attachment;
filename=" +
context.Server.UrlEncode(filename) +
context.Server.UrlEncode(fileExt));

context.Response.BinaryWrite(dokument);
context.Response.End();
}
*************************************************************************

Vielen Dank schonmal im Voraus!

MfG
Maik T.
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
09/12/2009 - 14:58 | Warnen spam
Hallo Maik,

"Maik T." schrieb:

Rufe ich die gleiche Sache nun mit dem Mozilla Firefox auf, so ist vor dem Dateinamen nur das Firefox Zeichen und nicht das Icon
der Standardanwendung für die Datei zu sehen und in der Auswahlbox rechts neben dem "Öffnen mit", steht auch nur "Firefox
(Standard)" drin.



Sendest Du den ContentType nirgends? Für ein PDF wàre das bspw.:

context.Response.ContentType = "application/pdf";

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen