Apache Commons HttpClient를 사용하여 Java에서 멀티파트/양식 데이터 POST 요청
HttpClient 버전 4.0 이전에는 멀티파트 전송이 가능했습니다. /form-data POST 요청. 그러나 이 기능은 버전 4.0에서 제거되었습니다. HttpClient 개발자는 멀티파트 처리가 프로젝트 범위를 벗어난 것으로 간주했습니다.
멀티파트/양식 데이터 POST 요청을 위한 대체 Java 라이브러리:
멀티파트가 없음에도 불구하고 HttpClient 4.0에서 지원되며 여러 Java 라이브러리가 이를 제공합니다. 기능:
HttpClient를 사용한 구현 예 4.3:
CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost uploadFile = new HttpPost("..."); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addTextBody("field1", "yes", ContentType.TEXT_PLAIN); // Attaching the 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);
레거시 HttpClient 4.0을 사용한 구현 예(더 이상 사용되지 않음):
HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(url); FileBody bin = new FileBody(new File(fileName)); StringBody comment = new StringBody("Filename: " + fileName); MultipartEntity reqEntity = new MultipartEntity(); reqEntity.addPart("bin", bin); reqEntity.addPart("comment", comment); httppost.setEntity(reqEntity); HttpResponse response = httpclient.execute(httppost);
결론:
HttpClient 4.0은 그렇지 않지만 기본적으로 multipart/form-data POST 요청을 지원합니다. 대체 Java 라이브러리와 코드 조각은 개발자가 이 기능을 달성하는 데 도움이 될 수 있습니다. 이러한 리소스를 활용함으로써 사용자는 멀티파트 요청을 처리하고 Zoho Writer의 원격 API와 같은 웹 서비스와 원활하게 통합하는 HTTP 클라이언트를 효과적으로 구현할 수 있습니다.
위 내용은 Java에서 Multipart/Form-Data POST 요청을 어떻게 보낼 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!