개발/안드로이드
[Java] 안드로이드 OkHttp3를 사용한 서버로 파일 업로드하기
크리쓰마스
2020. 9. 7. 13:22
음식 분류 프로젝트의 연장으로
안드로이드 애플리케이션에서 이미지를 선택해 서버로 보내면
서버에서 머신러닝 결과를 반환해 안드로이드 애플리케이션에서 출력하는 기능을 구현하고 있다.
이 부분은 안드로이드 OkHttp3 라이브러리를 사용해
서버로 파일을 업로드하는 부분이다.
소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
public class HttpMultiPart {
Context mContext;
String result;
public HttpMultiPart(final Context mContext) {
this.mContext = mContext;
RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("image", "보낼파일명", RequestBody.create(MultipartBody.FORM, new File(path)))
.build();
Request request = new Request.Builder()
.url("받을 URL")
.post(requestBody)
.build();
OkHttpClient client = new OkHttpClient();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
JSONObject json = null;
try {
json = new JSONObject(response.body().string());
result = json.getString("result");
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
}
|
cs |