Development

Apache 모듈 4.3 이후 Multipart Upload 방법

시코 모바일용 서버에 사용하던 Apache 라이브러리를 최신으로 바꾸었다.

  • http-client : 4.2.5 → 4.3.1
  • http-core : 4.2.4 → 4.3
  • http-mime : 4.2.5 → 4.3.1

사실 멀쩡히 돌아가는 서버는 웬만하면 안건드리는게 좋은데, 개인적으로 뭐가 됐든 그냥 최신버전을 쓰는게 좋아서 업데이트 해보기로 했다. 라이브러리를 교체하고 나니 경고가 뜨길래 뭔가하고 봤더니 멀티파트 업로드 방식이 4.3 이후로 기존 방법은 Deprecated 되었던 것이었다.

기존의 방법으로 문자열을 Multipart Upload 하려면 아래와 같이 MultipartEntity를 선언하고 addPart 메서드를 통해 StringBody 등을 넣어준 다음 HttpPost 객체에 넣고 Request를 보내야 했었다.

그런데 이 방법에서 MultipartEntity와 StringBody 등이 Deprecated 되었고 새로 MultipartEntityBuilder가 추가되었다. 이는 다음과 같이 사용한다.

StringBody같은 객체를 선언할 일이 이전보다 줄어서 예전보다 좀더 코드가 깔끔해진 느낌이다.

Published by AlphaFactory

프로그래밍을 좋아하는 건축공학도입니다. 블로그는 프로그래밍과 IT쪽으로 현재 운영중이지만 앞으로 건축관련 내용도 다뤄보려고 합니다. 원래 Android 및 Java를 주력으로 다뤘지만 최근에는 개인 프로젝트로 인하여 C#을 주력으로 다루고 있습니다.

7 thoughts on “Apache 모듈 4.3 이후 Multipart Upload 방법”

  1. 꾸야 says:

    안드로이드 개발을 공부해보다가 아르파님 블로그를 발견하니 정말 기쁘네요
    예전 시코모바일 처음 나왔을때 잘 썼었는데..ㅎㅎ

    블로그에서 좋은 내용 많이 알아갑니다~

    1. AlphaFactory says:

      안녕하세요 ㅎㅎ
      블로그를 이쪽으로 옮기고 나서 좀더 개발 관련 포스팅에 집중할 생각입니다.
      많이 들러주세요! 🙂

  2. 8tontruck says:

    안녕하세요.
    구글링하다가 흘러들어오게 되었습니다.
    혹시 MultipartEntityBuilder의 addTextBody메소드가 정상작동 안하는 이슈가 있었나요?
    파일은 정상적으로 넘어가는데 addTextBody는 넘어가지를 않네요..ㅜ

    1. AlphaFactory says:

      글쎄요… 들어본적이 없네요 ㅠㅠ
      Charset이 제대로 설정되지 않아서 그럴수도 있을것 같네요.

  3. Adrian says:

    좋은 글 감사합니다~!! 현재 제가 4.5 버전으로 하다보니까 안되서 찾아보니 4.3 버전을 이용하라네요.. 아파치 서버에서는 4.3이 다운로드가 안되더라구요ㅜㅠ 개별로 받으려하는데
    core, client, mime만 받으면 가능할까요~?

    1. AlphaFactory says:

      네, 3개 받으면 네트워크 관련 코딩이 가능하실겁니다.

      1. Adrian says:

        감사합니다!! 해결이 되었네요 ㅎ 혹시 Server쪽에서 받아서 처리하는 부분을 찾아보려면 어떻게 검색을 해야할까요ㅠㅜ..? 찾아본다고 찾기는하는데 잘 나오질 않네요ㅠ

댓글은 블로그 운영에 힘이 됩니다!