Maison > développement back-end > C++ > Comment renvoyer des fichiers à partir d'une API Web ASP.NET Core ?

Comment renvoyer des fichiers à partir d'une API Web ASP.NET Core ?

Susan Sarandon
Libérer: 2024-11-01 09:20:02
original
300 Les gens l'ont consulté

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

Télécharger des fichiers dans les API Web ASP.NET Core

Le retour de fichiers à partir d'une API Web ASP.NET Core peut être difficile, car le comportement par défaut entraîne souvent la sérialisation du HttpResponseMessage au format JSON. Pour résoudre ce problème, nous devons utiliser une approche différente.

Dans l'extrait de code fourni, l'interface IActionResult doit être utilisée pour renvoyer un type ActionResult dérivé. En renvoyant un FileStreamResult, nous pouvons spécifier le type de contenu et le nom du fichier à télécharger.

<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>
Copier après la connexion

Dans ce code mis à jour :

  • L'interface IActionResult est implémentée.
  • FileStreamResult est utilisé pour renvoyer le fichier.
  • Définissez le type de contenu et le nom du fichier téléchargé.

Cette méthode garantit que HttpResponseMessage contient le type de contenu correct et le nom du fichier, permettant des téléchargements de fichiers transparents à partir de votre API Web.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal