首頁 > Java > 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板