ホームページ > バックエンド開発 > C++ > ディスク ストレージを使用せずに ASP.NET Web API でファイルのアップロードを処理するにはどうすればよいですか?

ディスク ストレージを使用せずに ASP.NET Web API でファイルのアップロードを処理するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-24 01:18:09
オリジナル
929 人が閲覧しました

How Can I Handle File Uploads in ASP.NET Web API Without Disk Storage?

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート