Maison > développement back-end > C++ > Comment renvoyer un résultat de contenu de fichier à partir d'une API Web ASP.NET ?

Comment renvoyer un résultat de contenu de fichier à partir d'une API Web ASP.NET ?

Patricia Arquette
Libérer: 2025-01-18 17:26:09
original
925 Les gens l'ont consulté

How to Return a File Content Result from an ASP.NET Web API?

Renvoi des résultats du contenu du fichier dans l'API Web ASP.NET

Bien que FileContentResult fonctionne bien dans les contrôleurs MVC pour servir des fichiers tels que des PDF, le porter directement sur un ApiController présente des défis. Une simple tentative d'utilisation de StreamContent échoue souvent, ce qui entraîne des métadonnées JSON au lieu du fichier lui-même. La solution réside dans la mise à profit de ByteArrayContent.

Cet extrait de code révisé renvoie effectivement un fichier PDF en tant que résultat du contenu du fichier à partir d'une API Web :

<code class="language-csharp">[HttpGet]
public HttpResponseMessage Generate()
{
    using (var stream = new MemoryStream())
    {
        // Process the stream to generate PDF content here...

        var result = new HttpResponseMessage(HttpStatusCode.OK)
        {
            Content = new ByteArrayContent(stream.ToArray())
        };
        result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
        {
            FileName = "CertificationCard.pdf"
        };
        result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
        return result;
    }
}</code>
Copier après la connexion

La clé utilise ByteArrayContent pour encapsuler les octets du fichier et définit l'en-tête ContentDisposition sur "pièce jointe" pour demander un téléchargement. L'en-tête ContentType garantit une bonne manipulation par le client. Notez l'utilisation de using pour vous assurer que le MemoryStream est correctement éliminé. Cette approche permet une livraison transparente de PDF et d'autres types de fichiers via 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