Heim >Backend-Entwicklung >C++ >Wie kann ich Dateien zum Anzeigen oder Herunterladen in ASP.NET MVC zurückgeben?

Wie kann ich Dateien zum Anzeigen oder Herunterladen in ASP.NET MVC zurückgeben?

Linda Hamilton
Linda HamiltonOriginal
2025-01-31 14:11:10809Durchsuche

How to Return Files for Viewing or Downloading in ASP.NET MVC?

Rückgabe von Dateien in ASP.NET MVC zum Anzeigen oder Herunterladen

In ASP.NET MVC können die in der Datenbank gespeicherten Dateien an Benutzer zurückgegeben werden. Ziel ist es, zwei Optionen bereitzustellen: Der vom Browser bestimmte Mimetype wird vom Browser angesehen, um Dateien und erzwungene Download -Dateien vom Browser unabhängig vom Dateityp anzuzeigen.

Dateiverarbeitungsoptionen

FileStreamResult -Klasse wird normalerweise zum Senden von Dateien verwendet. Es kann jedoch nicht standardmäßig den Dateinamen angeben, was zu unerwarteten Verhaltensweisen führt, wenn es um die Erweiterung der unbekannten Datei geht. Erzwungene angegebene Dateinamen können den Browser die Datei nicht direkt öffnen lassen.

Um dieses Problem zu lösen, können wir die ContentDisposition -Klasse verwenden und die Dateiname -Eigenschaft auf den tatsächlichen Namen des Dokuments festlegen. Stellen Sie außerdem die Inline -Eigenschaft auf False ein, um den Browser aufzufordern, die Datei herunterzuladen, anstatt zu versuchen, sie zu öffnen.

Code Beispiel

Folgendes ist eine Beispielimplementierung in ASP.NET CORE (vollständige Framework).

Durch die Verwendung der ContentDispositionheaDerValue -Klasse können wir sicherstellen, dass die internationalen Zeichen im Dateinamen ordnungsgemäß behandelt werden. Diese Methode ermöglicht das Anzeigen und Herunterladen von Dateien und bestimmt das erforderliche Verhalten basierend auf der Premiere des Browsers.
<code class="language-csharp">public ActionResult Download()
{
    Document document = ...; // 获取文件数据
    var cd = new ContentDispositionHeaderValue("attachment")
    {
        FileNameStar = document.FileName // 使用 FileNameStar 属性处理文件名中的特殊字符
    };
    Response.Headers.Add(HeaderNames.ContentDisposition, cd.ToString());

    return File(document.Data, document.ContentType); // 返回文件数据和内容类型
}</code>

Das obige ist der detaillierte Inhalt vonWie kann ich Dateien zum Anzeigen oder Herunterladen in ASP.NET MVC zurückgeben?. 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