Datei per ASP.NET MVC ausliefern 👍 👎

Häufig möchte man auf seiner Webpräsenz nicht nur mit HTML-Ansichten arbeiten, sondern beispielsweise auch Dateien zum Herunterladen anbieten. Das ist selbstverständlich auch unter ASP.NET MVC kein Problem, sondern erfordert lediglich eine Aktion mit dem Rückgabetyp FileResult.

Hierbei handelt es sich jedoch um eine abstrakte (Basis-)Klasse, konkrete Implementierungen stehen mit FileContentResult, FilePathResult und FileStreamResult zur Verfügung. Wir begnügen uns mit einem minimalistischen Beispiel und verwenden FilePathResult – was soweit selbsterklärend sein dürfte:
Download-Aktion im Controller "Gallery"
01020304050607
public class GalleryController : Controller {    public FileResult Download() {        return new FilePathResult(@"X:\Pfad\zur\Datei\MeinBild.png", "image/png") {            FileDownloadName = "Bild.png"  // Dateiname für Benutzer festlegen        };    }}
Sofern FileDownloadName gesetzt wird, sollte der Browser die Datei automatisch zum Speichern anbieten, ansonsten greift das jeweilige Standardverhalten. Weitere Möglichkeiten bieten euch die bereits erwähnten anderen Implementierungen, natürlich könnt ihr auch jederzeit selbst welche für eure eigenen Bedürfnisse ableiten.


Projektverweise

Kategorien / Archiv  |  Übersicht RSS-Feed

Schlagworte

Suche