ホームページ >バックエンド開発 >C++ >ASP.NET MVC Web APIでファイルPOSTリクエストを受け入れる方法は?

ASP.NET MVC Web APIでファイルPOSTリクエストを受け入れる方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-24 01:21:09978ブラウズ

How to Accept File POST Requests in ASP.NET MVC Web API?

ASP.NET MVC Web API でのファイル アップロードの処理

この例では、ASP.NET MVC Web API で multipart/form-data を使用してファイルのアップロードを処理する方法を示します。

以下の Upload メソッドは、Request.Content.IsMimeMultipartContent() を使用してリクエストがマルチパート フォームであるかどうかを確認します。そうでない場合は、サポートされていないメディア タイプを示す HttpResponseException がスローされます。 それ以外の場合は、MultipartMemoryStreamProvider を使用してマルチパート データを非同期的に読み取ります。 次に、コードは各ファイルを反復処理して、ファイル名とコンテンツをバイト配列として抽出します。ファイル処理ロジックは、特定のニーズに合わせて調整できます。

<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);

    // Process uploaded files
    foreach (var file in provider.Contents)
    {
        var filename = file.Headers.ContentDisposition.FileName.Trim('"');
        var buffer = await file.ReadAsByteArrayAsync();

        // Save the file, process the data, or perform other actions here.
        // Example: Save to disk
        // var filePath = Path.Combine(Server.MapPath("~/App_Data"), filename);
        // File.WriteAllBytes(filePath, buffer);

    }

    return Ok();
}</code>

この改良されたコードでは、より明確なコメントとプロセスのより簡潔な説明が提供されます。 コメントアウトされたサンプル ファイル保存を、必要なファイル処理ロジックに置き換えてください。

以上がASP.NET MVC Web APIでファイルPOSTリクエストを受け入れる方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。