asp.net ashx-handler auffordert download statt Anzeige der Datei

Ich habe implementiert eine generische handler in meiner Anwendung, die funktioniert gut für Bilder, aber wenn ich manuell geben Sie die handler-URL im browser mit dem Bild der querystring Sie aufgefordert, downloaden statt anzeigen. Hier ist mein code:

public void ProcessRequest(HttpContext context)
        {
            if (this.FileName != null)
            {
                string path = Path.Combine(ConfigurationManager.UploadsDirectory, this.FileName);

                if (File.Exists(path) == true)
                {
                    FileStream file = new FileStream(path, FileMode.Open);
                    byte[] buffer = new byte[(int)file.Length];
                    file.Read(buffer, 0, (int)file.Length);
                    file.Close();
                    context.Response.ContentType = "application/octet-stream";
                    context.Response.AddHeader("content-disposition", "attachment; filename=\"" + this.FileName + "\"");
                    context.Response.BinaryWrite(buffer);
                    context.Response.End();
                }
            }
        }

Ich bin mit dem octet-stream, denn ich beschäftige mich mit mehr als nur Bilder und ich weiß nicht immer, den content-Typ der Datei. Vielen Dank im Voraus!

InformationsquelleAutor Mike Cole | 2010-08-10
Schreibe einen Kommentar