Dhaval Dhaval - 1 year ago 122
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()

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 Source

You need to Use


Instead of


Its working

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download