Heim > Backend-Entwicklung > C++ > Wie gebe ich Dateien von einer ASP.NET Core-Web-API zurück?

Wie gebe ich Dateien von einer ASP.NET Core-Web-API zurück?

Susan Sarandon
Freigeben: 2024-11-01 09:20:02
Original
301 Leute haben es durchsucht

How to Return Files from an ASP.NET Core Web API?

Dateien in ASP.NET Core-Web-APIs herunterladen

Das Zurückgeben von Dateien von einer ASP.NET Core-Web-API kann eine Herausforderung sein Das Standardverhalten führt häufig dazu, dass die HttpResponseMessage als JSON serialisiert wird. Um dieses Problem anzugehen, müssen wir einen anderen Ansatz verwenden.

Im bereitgestellten Codeausschnitt sollte die IActionResult-Schnittstelle verwendet werden, um einen abgeleiteten ActionResult-Typ zurückzugeben. Durch die Rückgabe eines FileStreamResult können wir den Inhaltstyp und den Dateinamen der herunterzuladenden Datei angeben.

<code class="csharp">[Route("api/[controller]")]
public class DownloadController : Controller
{
    [HttpGet("{id}")]
    public async Task<IActionResult> Download(string id)
    {
        Stream stream = await GetStreamBasedOnIdAsync(id);

        if (stream == null)
            return NotFound();

        return File(stream, "application/octet-stream", $"{filename}.ext");
    }
}</code>
Nach dem Login kopieren

In diesem aktualisierten Code:

  • Die IActionResult-Schnittstelle ist implementiert.
  • FileStreamResult wird verwendet, um die Datei zurückzugeben.
  • Legen Sie den Inhaltstyp und den Dateinamen für die heruntergeladene Datei fest.

Diese Methode stellt sicher, dass die HttpResponseMessage den richtigen Inhaltstyp enthält und Dateinamen, was nahtlose Dateidownloads von Ihrer Web-API ermöglicht.

Das obige ist der detaillierte Inhalt vonWie gebe ich Dateien von einer ASP.NET Core-Web-API zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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