Dans l'API Web ASP.Net Core, renvoyer un fichier en tant que réponse JSON peut être gênant. Naturellement, vous voudriez renvoyer le fichier dans son format binaire d'origine. Pour résoudre ce problème, nous devons approfondir le concept de types de résultats dans ASP.Net Core.
Comprendre l'interface IActionResult
Dans ASP.Net Core, IActionResult est une interface représentant le résultat d'une méthode d'action. Il encapsule le corps de la réponse HTTP et le code d'état, offrant ainsi une flexibilité dans la personnalisation de la réponse.
Solution : renvoyer un FileStreamResult
Pour renvoyer un fichier, nous exploiterons le Classe FileStreamResult, qui implémente IActionResult. Cela nous permet de spécifier le flux de fichier, le type de contenu et le nom de fichier de la réponse.
L'extrait de code suivant illustre cette approche :
<code class="csharp">[Route("api/[controller]")] public class DownloadController : Controller { [HttpGet("{id}")] public async Task<IActionResult> Download(string id) { Stream stream = await // Get stream based on id here if (stream == null) return NotFound(); // Handle not found scenario return File(stream, "application/octet-stream", "filename.ext"); } }</code>
Dans ce code :
Remarque :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!