본문 바로가기

Development/Android

[Android] Spring 라이브러리로 Multipart-form data 전송하기~!

1. 준비물~! (아래의 라이브러리를 받거나 메이븐으로 직접받아도된다.~! 본인의 경우 메이븐 연동에서 잘되지 않아서 직접 추가함)

jackson-core-asl-1.9.2.jar


jackson-mapper-asl-1.9.2.jar


spring-android-auth-1.0.1.RELEASE.jar


spring-android-core-1.0.1.RELEASE.jar


spring-android-rest-template-1.0.1.RELEASE.jar



2. 소스코드 아래와 같이 코드를 넣어서 작동시키면 된다.~!

 (주의 : Network이므로 AsyncTasker를 이용하거나 UIThread에서 실행하지만 않으면됨 그리고 Method는 POST만 가능한듯... PUT은 정확한 이유는 모르지만 서버와 통신을 실패함)



HttpHeaders multipartHeaders = new HttpHeaders();

multipartHeaders.setContentType(MediaType.MULTIPART_FORM_DATA);



final MultiValueMap<String, Object> value = new LinkedMultiValueMap<String, Object>();

value.add("id", resultSomething.getmId().toString());

value.add("file", new FileSystemResource(new File(this.mImageFilePath)));


HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<MultiValueMap<String, Object>>(value, multipartHeaders);

final ResponseEntity<String> out = sRestTemplate.exchange(this.mUrl, HttpMethod.POST, requestEntity, String.class);