ホームページ >バックエンド開発 >C++ >C# を使用して HTTP POST 経由でファイルをアップロードするにはどうすればよいですか?

C# を使用して HTTP POST 経由でファイルをアップロードするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-11 19:21:42765ブラウズ

How to Upload Files via HTTP POST using C#?

C# HTTP POST ファイルのアップロード: 包括的なガイド

このガイドでは、C# を使用して HTTP POST リクエスト経由でファイルをリモート サーバーにアップロードする方法について詳しく説明します。

1. HTTP リクエストの構築

まず、ターゲット URL を指定する HttpWebRequest オブジェクトを作成します。 Method プロパティを「POST」に設定し、ContentTypeContentLength を適切に定義します。

2.認証および接続パラメータ

リクエストの Credentials プロパティを必要なユーザー認証情報で構成します。 PreAuthenticatetrue に設定して事前認証を有効にします。

3.マルチパート フォーム データの構築

C# 4.5 以降の場合は、MultipartFormDataContent クラスを利用してマルチパート フォーム データを作成します。 StringContentStreamContent をそれぞれ使用して、文字列データとファイル データの両方を追加します。

4.リクエストの送信とレスポンスの処理

req.GetResponse() を使用してリクエストを送信し、潜在的な例外を管理します。 それに応じてサーバーの応答を処理します。

5.コード例

次のコードはプロセスを示しています:

<code class="language-csharp">HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest;
req.KeepAlive = false;
req.Method = "POST";
req.Credentials = new NetworkCredential(user.UserName, user.UserPassword);
req.PreAuthenticate = true;
req.ContentType = file.ContentType;
req.ContentLength = file.Length;

using (var formData = new MultipartFormDataContent())
{
    formData.Add(new StringContent(paramString), "param1", "param1");
    formData.Add(new StreamContent(paramFileStream), "file1", "file1");
    formData.Add(new ByteArrayContent(paramFileBytes), "file2", "file2");
    using (var client = new HttpClient())
    {
        var response = await client.PostAsync(uri, formData);
        // Process the response here...
    }
}</code>

以上がC# を使用して HTTP POST 経由でファイルをアップロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。