Heim >Backend-Entwicklung >C++ >So steuern Sie die Dateianzeige (Anzeigen oder Download) in ASP.NET MVC?

So steuern Sie die Dateianzeige (Anzeigen oder Download) in ASP.NET MVC?

Barbara Streisand
Barbara StreisandOriginal
2025-01-31 13:56:09901Durchsuche

How to Control File Display (View or Download) in ASP.NET MVC?

Steuern von Dateianzeigeoptionen (Anzeigen oder Download) in ASP.NET MVC

ASP.NET -MVC -Anwendungen müssen häufig Dateien bereitstellen, die in einer Datenbank für Benutzer gespeichert sind. Eine wichtige Herausforderung besteht darin, den Benutzern die Kontrolle darüber zu geben, wie diese Dateien behandelt werden - unabhängig davon, ob sie direkt im Browser angezeigt oder heruntergeladen werden.

Während FileResult eine einfache Lösung bietet, kann sie für unbekannte Dateitypen unzuverlässig sein, die häufig zu einem Download versiegt werden. Um eine robustere Kontrolle zu erhalten, sollten Sie FileStreamResult oder die ContentDisposition -Header manipulieren.

.

FileStreamResult Verwenden

bietet einen Kompromiss:
<code class="language-csharp">// Opens known types, downloads unknown types (incorrect filename/extension)
return new FileStreamResult(new MemoryStream(document.Data), document.ContentType);</code>

File, um einen Download konsistent zu erzwingen, unabhängig vom Dateityp, verwenden Sie die ContentDisposition -Methode mit einem angepassten

-Header:
<code class="language-csharp">public ActionResult Download()
{
    var document = ...;
    var cd = new System.Net.Mime.ContentDisposition
    {
        FileName = document.FileName,
        Inline = false, // Forces download
    };
    Response.AppendHeader("Content-Disposition", cd.ToString());
    return File(document.Data, document.ContentType);
}</code>

ContentDispositionHeaderValue Für eine verbesserte internationale Charakterunterstützung wird die

-Klasse empfohlen:
<code class="language-csharp">public IActionResult Download()
{
    var document = ...;
    var cd = new ContentDispositionHeaderValue("attachment")
    {
        FileNameStar = document.FileName // Use FileNameStar for better encoding
    };
    Response.Headers.Add(HeaderNames.ContentDisposition, cd.ToString());
    return File(document.Data, document.ContentType);
}</code>

Mit diesen Methoden können Entwickler die Dateizustellung genau verwalten und eine konsistente und vorhersehbare Benutzererfahrung sicherstellen, ob der Benutzer die Datei anzeigen oder herunterladen will.

Das obige ist der detaillierte Inhalt vonSo steuern Sie die Dateianzeige (Anzeigen oder Download) in ASP.NET MVC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn