Maison >développement back-end >C++ >Comment gérer les téléchargements de fichiers via POST dans l'API Web ASP.NET ?

Comment gérer les téléchargements de fichiers via POST dans l'API Web ASP.NET ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-24 01:31:08668parcourir

How to Handle File Uploads via POST in ASP.NET Web API?

Télécharger des fichiers via POST dans l'API Web ASP.NET

Le téléchargement de fichiers dans l'API Web ASP.NET nécessite une approche personnalisée. Afin de recevoir et de traiter des images ou des fichiers POST, l'implémentation actuelle doit être améliorée.

L'extrait de code fourni dans votre question ProfileImagePost tente de recevoir un paramètre HttpPostedFile. Toutefois, cette approche peut ne pas fonctionner comme prévu dans l'API Web ASP.NET.

Utilisez plutôt le modèle suivant pour gérer correctement les téléchargements de fichiers :

<code class="language-csharp">[HttpPost("api/upload")]
public async Task<IHttpActionResult> Upload()
{
    if (!Request.Content.IsMimeMultipartContent())
        throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);

    var provider = new MultipartMemoryStreamProvider();
    await Request.Content.ReadAsMultipartAsync(provider);
    foreach (var file in provider.Contents)
    {
        var filename = file.Headers.ContentDisposition.FileName.Trim('"');
        var buffer = await file.ReadAsByteArrayAsync();
        // 使用文件名和二进制数据执行任何操作。
    }

    return Ok();
}</code>

Cet extrait de code modifié garantit que vous pouvez recevoir et gérer les téléchargements de fichiers dans l'API Web ASP.NET en traitant la requête entrante comme des données en plusieurs parties et en extrayant le nom et le contenu du fichier.

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!

Déclaration:
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