ホームページ > バックエンド開発 > C++ > WCF REST サービスのマルチパート/フォームデータ POST からファイル バイトを抽出するにはどうすればよいですか?

WCF REST サービスのマルチパート/フォームデータ POST からファイル バイトを抽出するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-05 08:15:40
オリジナル
624 人が閲覧しました

How to Extract File Bytes from Multipart/Form-Data POSTs in WCF REST Services?

WCF REST サービスの Multipart/Form-Data POST からファイル バイトを抽出する

Web フォームでは、multipart/form-data コンテンツ タイプがよく使用されますファイルを Web サービスに投稿します。これによりファイル転送が容易になりますが、マルチパート ボディからファイル バイトを抽出するのは困難な場合があります。この問題の解決策の 1 つは、.NET 4.5 で導入されたパブリック Microsoft API を活用することです。

この API を利用するには、System.Net.Http.dll と System.Net.Http.Formatting を含める必要があります。 dll をプロジェクトに追加します。 .NET 4 を使用している場合は、NuGet を通じてこれらのアセンブリを取得できます。

アセンブリを配置したら、次のコードを使用してマルチパート本文を解析し、ファイル バイトを抽出できます。

public static async Task ParseFiles(
    Stream data,
    string contentType,
    Action<string, Stream> fileProcessor)
{
    // Create a stream content based on the input stream
    var streamContent = new StreamContent(data);

    // Set the content type header
    streamContent.Headers.ContentType = MediaTypeHeaderValue.Parse(contentType);

    // Read the multipart data as multipart content
    var provider = await streamContent.ReadAsMultipartAsync();

    // Loop through each content retrieved from the multipart body
    foreach (var httpContent in provider.Contents)
    {
        // Get the file name
        var fileName = httpContent.Headers.ContentDisposition.FileName;

        // If there is a file name, ignore empty file names
        if (string.IsNullOrWhiteSpace(fileName))
        {
            continue;
        }

        // Read the file content stream
        using (Stream fileContents = await httpContent.ReadAsStreamAsync())
        {
            // Pass the file name and file content stream to the specified processor
            fileProcessor(fileName, fileContents);
        }
    }
}
````

To use this code, you can create a custom file processor method, such as:
ログイン後にコピー

private void MyProcessMethod(文字列名, ストリーム内容)
{

// Your code to process the file data
ログイン後にコピー

}

以上がWCF REST サービスのマルチパート/フォームデータ POST からファイル バイトを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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