Ich habe die grundlegenden Informationen auf MSDN und ein paar Tutorials durchgelesen. Aus dem, was ich bisher gelernt habe, konnte ich zwei .ashx-Handler erstellen, die ich ImageHandler.ashx und PDFHandler.ashx nenne. Sie tun, was man erwarten würde: Bilder oder PDFs zurückgeben. Für beide dieser Handler setze ich im ProcessRequest
-Methoden-Code context.Response.ContentType
auf "image/jpeg" bzw. "application/pdf" und schreibe dann das Ergebnis mit context.Response.BinaryWrite(bytes)
. Bisher funktioniert das einwandfrei.
Allerdings möchte ich dem Benutzer die Möglichkeit geben, jede Datei herunterzuladen, unabhängig vom Dateityp. Muss ich wirklich für jeden Dateityp einen anderen Handler erstellen?
Kann ich einfach eine .ashx-Datei haben und dann eine switch-Anweisung basierend auf dem Dateityp haben (den ich durch Unterteilung des Dateinamens erhalten würde)? Selbst wenn ich das mache, was ist mit Dateitypen, die nicht standardmäßig sind, wie zum Beispiel .xyz-Dateien? Was setze ich in diesem Fall für context.Response.ContentType
?