Es gibt ja schon sehr viele verschiedene Möglichkeiten und noch
mehr Artikel zu diesem Thema. Grundsätzlich gibt es folgende Varianten
eine Datei in ASP.NET zum Download anzubieten.
- direkter Download, Nachteil: Es werden Pfade des Servers offengelegt, welche die Sicherheit gewerden können.
- als Stream innerhalb des Response mitschicken, Nachteil: Der
Browser kann den direkten Stream unterbinden. Der Benutzer muss diesen
erst zulassen.
- Versuch der direkten Anzeige der Datei.
Die dritte Variante erschien mir in meinem Fall als die sinnvollste.
Ein Control bekommt den absoluten Pfad, z.B. innerhalb der Session,
übergeben. Das Control ermittelt den virtuellen Pfad in Bezug auf den
Webserver und gibt diesen Link direkt weiter. So ist es vom Browser des
Benutzers abhängig, ob die Datei (z.B. ein pdf) direkt angezeigt wird,
oder sich ein Downloadfenster öffnet.