5. 한참을 뒤지다가 결국 HttpMultipart 에서 stream 으로 변환하는 과정에서 문제 원인을 찾았습니다. doWriteTo 라는 메소드에서 STRICT mode 와 달리 BROWSER_COMPATIBLE mode 에서는 content-type 을 추가하지 않습니다.
6. 문제를 찾았으니, 문제 해결 -_-a
문제 코드 보기
[code]MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); File file = new File("attatch_file"); FileBody fileBody = FileBodyUtils.makeImageFileBody(file); multipartEntity.addPart("attatch", fileBody); multipartEntity.addPart("to", new StringBody("to")); multipartEntity.addPart("from", new StringBody("from")); [/code]
문제 해결 내용 보기
1. MultipartEntity 를 사용할 때, HttpMultipartMode 를 선택해야 합니다. 2. MultipartEntity 생성자가 3가지가 있습니다. [code]MultipartEntity() MultipartEntity(HttpMultipartMode mode) MultipartEntity(HttpMultipartMode mode, String boundary, Charset charset) [/code] 3. HttpMultipartMode 는 두 가지가 있습니다. [code]HttpMultipartMode.STRICT HttpMultipartMode.BROWSER_COMPATIBLE [/code] 4. HttpMultipartMode.STRICT 으로 바꿨습니다.
문제 해결 코드 보기
[code]MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.STRICT); File file = new File("attatch_file"); FileBody fileBody = FileBodyUtils.makeImageFileBody(file); multipartEntity.addPart("attatch", fileBody); multipartEntity.addPart("to", new StringBody("to")); multipartEntity.addPart("from", new StringBody("from")); [/code]