Dhaval Dhaval - 12 days ago 7
Android Question

Image upload using okHttp

i want to upload image using okhttp but i am not able to find MultipartBuilder for Post Image.What can i use instead of this.

Here is my code

public static JSONObject uploadImage(File file) {

try {

final MediaType MEDIA_TYPE_PNG = MediaType.parse("image/png");

RequestBody req = new MultipartBuilder().setType(MultipartBody.FORM).addFormDataPart("userid", "8457851245")
.addFormDataPart("userfile","profile.png", RequestBody.create(MEDIA_TYPE_PNG, file)).build();

Request request = new Request.Builder()
.url("url")
.post(req)
.build();

OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();

Log.d("response", "uploadImage:"+response.body().string());

return new JSONObject(response.body().string());

} catch (UnknownHostException | UnsupportedEncodingException e) {
Log.e(TAG, "Error: " + e.getLocalizedMessage());
} catch (Exception e) {
Log.e(TAG, "Other Error: " + e.getLocalizedMessage());
}
return null;
}


Thanks in advance.

Answer

You need to Use

Multipartbody.Builder()

Instead of

MultipartBuilder

Its working