apache http client 4.1.x   > 4.3.6  upgrade 


dprecate 된 부분 패치한 내용 공유.


4.1.x source 

MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE, boundary, Charset.forName(HTTP.UTF_8));

> 4.3.6

 MultipartEntityBuilder builder = MultipartEntityBuilder.create() .setMode(HttpMultipartMode.BROWSER_COMPATIBLE) .setBoundary(boundary) .setCharset(Charset.forName(HTTP.UTF_8));



4.1x source

FileBody bodyPart = new FileBody(uploadFile, mimeType, HTTP.UTF_8)

reqEntity.addPart(param.getName(), bodyPart);

>4.3.6

FileBody bodyPart = new FileBody(uploadFile); 

builder.addPart(param.getName(), bodyPart);


*text body 4.3.6. xml이나 json사용시  ContentType 변경 해야합니다.

builder.addTextBody(param.getName(), param.getValue(), ContentType.TEXT_PLAIN);



mimeType 설정은 따로 못하는것 같습니다. 

그리고 안드로이드의 경우 4.3.6 이상 버전 설치시 에러가 나타나서 4.3.6으로 업그레이드를 했습니다.

정식으로 아직 패치는 안된것 같고 일부 사용자들이 패치를 해서 배포하는것 같더라구요!. 

https://stackoverflow.com/questions/43510961/should-i-set-the-content-type-header-for-a-multipartentity


apache http client download : https://hc.apache.org/downloads.cgi

old version : http://archive.apache.org/dist/httpcomponents/httpclient/

* 4.3.6을 받을려면 old version링크에서 받으셔야 합니다. 


그럼 도움이 됐길.