> 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿