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>
In diesem aktualisierten Code:
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!