Okhttp를 써서 Bitmap을 웹서버에 upload 어떻게하나요?


php를 이용하여 사진을 업로드할려고하는데요

사진은 카메라나 갤러리에서 선택한것을 가지고 bitmap으로 사이즈 조정후에 서버에다가 올릴려고

합니다. Tip좀 주세요 ㅠ

  • 2016년 09월 27일에 작성됨
    Android 개발자 즉 웹개발자를 목표로 하고있습니다.

조회수 112


1 답변


이미지 파일을 입력으로 받아 서버로 전송하는 코드의 기본적인 모습은 아래와 같을 것 같고요. 몇몇 부분은 환경에 맞게 수정해야 하니 코드를 참고하셔서 구현해보세요.

public static String uploadPhoto(File file) {
    try {
        RequestBody requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM)
            .addFormDataPart("photo", "photo.png", RequestBody.create(MediaType.parse("image/png"), file))
            .build();

        String url = "http://...";
        okhttp3.Request request = new okhttp3.Request.Builder()
            .url(url)
            .post(requestBody)
            .build();

        OkHttpClient client = new OkHttpClient();
        okhttp3.Response response = client.newCall(request).execute();
        return response.body().string();
    } catch (UnknownHostException | UnsupportedEncodingException e) {
        ...
    } catch (Exception e) {
        ...
    }
    return null;
}

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close