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 サイトの他の関連記事を参照してください。