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 중국어 웹사이트의 기타 관련 기사를 참조하세요!