HttpClient を使用して ASP.NET Web API でのファイルのアップロードを処理する
ファイルのアップロードの処理は、ASP.NET Web API を使用して RESTful サービスを開発する場合の一般的な要件です。この記事では、Web API フレームワークを使用して、クライアント アプリケーションによって POST された画像またはファイルを受信する方法について説明します。
元のコードは HttpPostedFile
パラメーターを使用します。このアプローチでは、アップロードされたファイルを保存するサーバー上の物理的な場所が必要です。ただし、この記事では、ファイル システムに書き込まずにすべてをメモリ内に保持する代替方法について説明します。
更新されたコードは、MultipartMemoryStreamProvider
を使用して POST リクエストのマルチパート フォーム データを読み取ります。ファイルの内容を反復処理し、ファイル名とそのバイナリ データにアクセスします。このアプローチにより、ファイル システム ストレージを必要とせずに、アップロードされたファイルを処理できます。
以下は変更されたコードです:
<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>
このソリューションは、Web API サービスでファイルのアップロードを処理するためのより柔軟かつ効率的な方法を提供し、ファイル システム ストレージの必要性を回避し、アップロードされたコンテンツのシームレスな処理を可能にします。
以上がディスク ストレージを使用せずに ASP.NET Web API でファイルのアップロードを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。