WCF REST サービスのマルチパート/フォームデータ POST からファイル バイトを抽出するにはどうすればよいですか?
Jan 05, 2025 am 08:15 AMWCF 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 サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
2つのポイント博物館:バングルワシュタランドロケーションガイド
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

人気の記事
2つのポイント博物館:バングルワシュタランドロケーションガイド
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7109
9


Java チュートリアル
1534
14


Laravel チュートリアル
1254
25


PHP チュートリアル
1205
29


CakePHP チュートリアル
1152
46



C言語関数によって返される値の種類は何ですか?返品値を決定するものは何ですか?
