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
Freigeben: 2025-01-31 14:11:10
Original
886 Leute haben es durchsucht

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.
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); // 返回文件数据和内容类型
}
Nach dem Login kopieren

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!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage