I'm trying to upload image on server using retrofit2 beta 3. In response i'm getting success but image is not getting uploaded on server. I dont know where's i'm making mistake. and
Header Type is Content-Type: application/x-www-form-urlencoded
My Interface
@Multipart
@POST("/uploadFile")
Call<ResponseBody> upload(@PartMap Map<String, RequestBody> params);
and the method i used for uploading is
Method for uploading Image and data
 private void uploadFile() {
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(Constants.BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .build();
   ApiInterface service =
            retrofit.create(ApiInterface.class);
    File file = new File(fileUri.getPath());
    Log.e(TAG, "uploadFile: " + file.toString());
    String fileName = "uploadFile\"; filename=\"" + file.getName();
    final RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
    final RequestBody empsno = RequestBody.create(MediaType.parse("text/plain"), strEmpsno);
    final RequestBody storsno = RequestBody.create(MediaType.parse("text/plain"), strStoreSno);
    final RequestBody strlr = RequestBody.create(MediaType.parse("text/plain"), strLrno);
    final RequestBody strtecq = RequestBody.create(MediaType.parse("text/plain"), strRecqty);
    final RequestBody strtecv = RequestBody.create(MediaType.parse("text/plain"), strRecvol);
    final RequestBody strtecw = RequestBody.create(MediaType.parse("text/plain"), strRecwgt);
    final RequestBody strdmg = RequestBody.create(MediaType.parse("text/plain"), strDamageqty);
    final RequestBody strlus = RequestBody.create(MediaType.parse("text/plain"), strLooseqty);
    final RequestBody strdd = RequestBody.create(MediaType.parse("text/plain"), strDeliverydate);
    final RequestBody strdt = RequestBody.create(MediaType.parse("text/plain"), strDeliverytime);
    final RequestBody strrem = RequestBody.create(MediaType.parse("text/plain"), strRemarks);
    final RequestBody strrec = RequestBody.create(MediaType.parse("text/plain"), strReceivedby);
    final RequestBody strip = RequestBody.create(MediaType.parse("text/plain"), strIpaddress);
    Map<String, RequestBody> oJSONObject = new HashMap<>();
    oJSONObject.put("empsno", empsno);
    oJSONObject.put("storesno", storsno);
    oJSONObject.put("lrSno", strlr);
    oJSONObject.put("recQty", strtecq);
    oJSONObject.put("recVol", strtecv);
    oJSONObject.put("recWgt", strtecw);
    oJSONObject.put("damageQty", strdmg);
    oJSONObject.put("looseQty", strlus);
    oJSONObject.put("deliveryDate", strdd);
    oJSONObject.put("deliveryTime", strdt);
    oJSONObject.put("remarks", strrem);
    oJSONObject.put("receivedBy", strrec);
    oJSONObject.put("ipAddress", strip);
    Call<ResponseBody> call = service.upload(oJSONObject);
    call.enqueue(new Callback<ResponseBody>() {
        @Override
        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
            Log.e(TAG, "onResponse: " + response.isSuccessful());
            if (response.isSuccessful()) {
                Log.e(TAG, "onResponse: " + response.body());
            }
        }
        @Override
        public void onFailure(Call<ResponseBody> call, Throwable t) {
            Log.e(TAG, "onFailure: " + t.getLocalizedMessage());
        }
    });
}
in response response.isSuccessful()=true. My response is getting successful then where is my problem. Please help me to find the solution.
Other way i also tried but not getting success, same result in another way also
@Multipart
@POST("/uploadFile")
Call<Response> getDetails(@Part("empsno") RequestBody empsno,
                                @Part("storesno")RequestBody  storesno,
                                @Part("lrSno")RequestBody  lrSno,
                                @Part("recQty")RequestBody  recQty,
                                @Part("recVol")RequestBody  recVol,
                                @Part("recWgt")RequestBody  recWgt,
                                @Part("damageQty")RequestBody  damageQty,
                                @Part("looseQty")RequestBody  looseQty,
                                @Part("deliveryDate")RequestBody  deliveryDate,
                                @Part("deliveryTime")RequestBody  deliveryTime,
                                @Part("uploadFile\"; filename=\"abc.jpg\" ") RequestBody part,
                                @Part("remarks")RequestBody  remarks,
                                @Part("receivedBy")RequestBody  receivedBy,
                                @Part("ipAddress") RequestBody ipAddress
and method i used here is
File file = new File(fileUri.getPath());
        RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
        MultipartBody.Part body = MultipartBody.Part.createFormData("uploadFile", file.getName(), requestFile);
        RequestBody empsno = RequestBody.create(MediaType.parse("text/plain"), strEmpsno);
        RequestBody storsno = RequestBody.create(MediaType.parse("text/plain"), strStoreSno);
        RequestBody strlr = RequestBody.create(MediaType.parse("text/plain"), strLrno);
        RequestBody strtecq = RequestBody.create(MediaType.parse("text/plain"), strRecqty);
        RequestBody strtecv = RequestBody.create(MediaType.parse("text/plain"), strRecvol);
        RequestBody strtecw = RequestBody.create(MediaType.parse("text/plain"), strRecwgt);
        RequestBody strdmg = RequestBody.create(MediaType.parse("text/plain"), strDamageqty);
        RequestBody strlus = RequestBody.create(MediaType.parse("text/plain"), strLooseqty);
        RequestBody strdd = RequestBody.create(MediaType.parse("text/plain"), strDeliverydate);
        RequestBody strdt = RequestBody.create(MediaType.parse("text/plain"), strDeliverytime);
        RequestBody strrem = RequestBody.create(MediaType.parse("text/plain"), strRemarks);
        RequestBody strrec = RequestBody.create(MediaType.parse("text/plain"), strReceivedby);
        RequestBody strip = RequestBody.create(MediaType.parse("text/plain"), strIpaddress);
        ApixInterface xInterface = retrofit.create(AudexInterface.class);
        Call<Response> podResponsecall = xInterface.getDetails(empsno, storsno, strlr, strtecq,
                strtecv, strtecw, strdmg, strlus, strdd, strdt,
                requestFile, strrem, strrec, strip);
        podResponsecall.enqueue(new Callback<Response>() {
            @Override
            public void onResponse(Call<Response> call, Response<Response> response) {
                Log.e(TAG, "onResponse: " + response.isSuccessful());
                if (response.isSuccessful()) {
                    Toast.makeText(getApplicationContext(), "Successfully saved!!!", Toast.LENGTH_LONG);
                    Log.e(TAG, "onResponse: " + response.body().getResult());
                    uploadFile();
                }
            }
            @Override
            public void onFailure(Call<Response> call, Throwable t) {
                Log.e(TAG, "onFailure: " + t.getLocalizedMessage());
            }
        });
By using this method also response is successful but image not getting upload on server.
Thanks in advance
 
     
     
    