Retour des résultats du contenu de fichier dans ASP.net web api
tandis que fileContentResult
fonctionne bien dans les contrôleurs MVC pour servir des fichiers comme PDFS, le portant directement à un apiController
présente des défis. Une tentative simple d'utiliser StreamContent
échoue souvent, résultant en des métadonnées JSON au lieu du fichier lui-même. La solution réside dans la mise à profit bytearrayContent
.
Cet extrait de code révisé renvoie efficacement un fichier PDF en tant que contenu de fichier Résultat d'une API Web:
[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;
}
}
La clé utilise byteArrayContent
pour encapsuler les octets du fichier et définir l'en-tête de contenudisposition de contenu pour inviter un téléchargement. L'en-tête
ContentType garantit une manipulation appropriée par le client. Remarque l'utilisation de
en utilisant pour s'assurer que le
memmorStream est correctement disposé. Cette approche permet la livraison transparente de PDF et d'autres types de fichiers via votre API Web.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3