Streamlining -Datei -Downloads und Ansichten in ASP.NET MVC
Downloads und Vorschau der Dateihandlung in ASP.NET -MVC -Anwendungen können Komplexitäten aufweisen. In diesem Artikel werden effektive Strategien für die Rückgabe von Dateien untersucht, die in einer Datenbank gespeichert sind und eine robuste Lösung zur Überwindung gemeinsamer Hürden bieten.
Der FileStreamResult
-Ansatz ist zwar für viele Dateitypen funktionsfähig, ist jedoch nicht mehr bei unbekannten Erweiterungen oder erzwungene Downloads zu erfordern. Verwenden von FileDownloadName
einen Download, um das automatische Handling des Browsers zu umgehen.
Eine überlegene Lösung verwendet die ContentDispositionHeaderValue
-Klasse (in modernen ASP.NET -MVC -Versionen), um das Dateiverhalten genau zu steuern. Auf diese Weise können Entwickler angeben, ob eine Datei inline angezeigt oder direkt heruntergeladen werden soll.
Hier ist ein Beispiel mit ASP.NET CORE:
<code class="language-csharp">public IActionResult Download() { Document document = ... // Retrieve document from database var cd = new ContentDispositionHeaderValue("attachment") { FileNameStar = document.FileName }; Response.Headers.Add(HeaderNames.ContentDisposition, cd.ToString()); return File(document.Data, document.ContentType); }</code>
Durch Manipulieren von FileNameStar
und verwandten Eigenschaften erhalten Sie eine feinkörnige Kontrolle über Inline-Anzeigen gegenüber Download-Eingabeaufforderungen. Diese Methode behandelt auch anmutig Dateinamen, die internationale Zeichen enthalten.
Das obige ist der detaillierte Inhalt vonWie kann ich Dateien zum Anzeigen oder Herunterladen in ASP.NET MVC effizient zurückgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!