Heim >Backend-Entwicklung >C++ >Wie behandle ich Datei -Downloads und Inline -Anzeigen in ASP.NET MVC?
Servieren in ASP.NET MVC: Download oder Inline -Anzeige
Verwalten von Datei -Downloads und Inline -Anzeigen innerhalb von ASP.NET -MVC -Anwendungen können Schwierigkeiten aufweisen, insbesondere wenn es sich um verschiedene Dateitypen handelt. Diese Anleitung beschreibt eine robuste Lösung.
Der FileStreamResult
-Ansatz, obwohl es scheinbar einfach ist, hat zwar Einschränkungen. Eine effektivere Methode nutzt die System.Net.Http.Headers.ContentDispositionHeaderValue
-Klasse, bietet eine bessere Kontrolle und die Behandlung von Problemen mit internationalem Charakter -Codierung. Betrachten Sie dieses verbesserte Code -Beispiel:
<code class="language-csharp">public ActionResult ServeFile(string fileName) { var document = ... // Retrieve file data from your data source (database, file system, etc.) var cd = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); // Or "inline" for inline viewing cd.FileNameStar = fileName; // Use FileNameStar for proper international character handling return File(document.Data, document.ContentType, fileName, cd); }</code>
Dieser erweiterte Ansatz verwendet ContentDispositionHeaderValue
, um die Dateidisposition anzugeben (attachment
zum Download, inline
für die Inline -Anzeige) und FileNameStar
sorgt für die korrekte Handhabung von Dateinamen mit internationalen Zeichen. Die File
-Methode akzeptiert nun das ContentDispositionHeaderValue
-Objekt direkt und vereinfacht den Prozess. Denken Sie daran, die Dateiabruflogik (var document = ...
) an Ihren spezifischen Datenspeichermechanismus anzupassen. Diese Methode bietet eine sauberere, zuverlässigere und zukunftssichere Lösung im Vergleich zu älteren Ansätzen.
Das obige ist der detaillierte Inhalt vonWie behandle ich Datei -Downloads und Inline -Anzeigen in ASP.NET MVC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!