ホームページ > Java > &#&チュートリアル > Apache HttpClient 3.x でマルチパート サポートが削除された後、Java でマルチパート/フォームデータ POST リクエストを作成する方法

Apache HttpClient 3.x でマルチパート サポートが削除された後、Java でマルチパート/フォームデータ POST リクエストを作成する方法

DDD
リリース: 2024-12-30 19:16:10
オリジナル
642 人が閲覧しました

How to Create Multipart/Form-Data POST Requests in Java After Apache HttpClient 3.x's Removal of Multipart Support?

Java での multipart/form-data POST リクエスト

Java では、かつては Apache Commons を使用して multipart/form-data POST リクエストを作成できましたHttpClient バージョン 3.x。ただし、この機能はバージョン 4.0 で廃止されました。

HttpClient 開発者は、マルチパート処理はライブラリのコア HTTP 機能の範囲外であると述べて、この削除を正当化しました。彼らは、他のプロジェクトによって維持されているマルチパート コードを探すことを提案しましたが、そのようなプロジェクトは認識していないと認めました。

HttpClient 4.x を使用した回避策

専用のマルチパート サポートが削除されたにもかかわらず、HttpClient 4.x を使用してマルチパート リクエストを作成する回避策があります。以下に例を示します。

CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost uploadFile = new HttpPost("...");
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addTextBody("field1", "yes", ContentType.TEXT_PLAIN);

// Attach file to the POST:
File f = new File("[/path/to/upload]");
builder.addBinaryBody(
    "file",
    new FileInputStream(f),
    ContentType.APPLICATION_OCTET_STREAM,
    f.getName()
);

HttpEntity multipart = builder.build();
uploadFile.setEntity(multipart);
CloseableHttpResponse response = httpClient.execute(uploadFile);
HttpEntity responseEntity = response.getEntity();
ログイン後にコピー

HttpClient 4.3 の時点で、一部のクラスは非推奨になっていることに注意してください。更新された API の使用法については、公式ドキュメントを参照してください。

以上がApache HttpClient 3.x でマルチパート サポートが削除された後、Java でマルチパート/フォームデータ POST リクエストを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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