C# HTTP POST ファイルのアップロード: 包括的なガイド
このガイドでは、C# を使用して HTTP POST リクエスト経由でファイルをリモート サーバーにアップロードする方法について詳しく説明します。
1. HTTP リクエストの構築
まず、ターゲット URL を指定する HttpWebRequest
オブジェクトを作成します。 Method
プロパティを「POST」に設定し、ContentType
と ContentLength
を適切に定義します。
2.認証および接続パラメータ
リクエストの Credentials
プロパティを必要なユーザー認証情報で構成します。 PreAuthenticate
を true
に設定して事前認証を有効にします。
3.マルチパート フォーム データの構築
C# 4.5 以降の場合は、MultipartFormDataContent
クラスを利用してマルチパート フォーム データを作成します。 StringContent
と StreamContent
をそれぞれ使用して、文字列データとファイル データの両方を追加します。
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 サイトの他の関連記事を参照してください。