Wednesday, 23 May 2018

File upload

public static interface API_Update_Profile_Data {
    @Multipart    @POST("updateprofile_api/update_profiledata/")
    Call<ResponseBody> Respos(@Part("user_id") RequestBody user_id,
                              @Part("user_type") RequestBody user_type,
                              @Part("name_ara") RequestBody name_ara,
                              @Part("name_eng") RequestBody name_eng,
                              @Part MultipartBody.Part user_image,
                              @Part("mobileno") RequestBody mobileno,
                              @Part("email_id") RequestBody email_id);

private void updateUserData(RequestBody mUserId, RequestBody mUserType, RequestBody name_ara, final RequestBody name_eng,
                            RequestBody mobileno, RequestBody email) {
    ShowProgressDialog();
    File file = null;

    RequestBody fbody = null;
    String file_name = null;

    MultipartBody.Part body = null;
    try {
        file = new File(imageUri.getPath());
        file_name = file.getName();
        file_name = file_name.replace(" ", "");
        fbody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
        body = MultipartBody.Part.createFormData("user_image", file_name, fbody);
    } catch (Exception e) {
        e.printStackTrace();
    }

    GetResponce.API_Update_Profile_Data service = Final_API_Data.retrofit.create(GetResponce.API_Update_Profile_Data.class);

    Call<ResponseBody> result = service.Respos(mUserId, mUserType, name_ara, name_eng, body, mobileno, email);

    final File finalFile = file;
    final String finalFile_name = file_name;
    result.enqueue(new Callback<ResponseBody>() {
        @Override        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
            Log.e("Sucessfully", "Done");
            try {
                String res = response.body().string();
                String status = "0";
                Log.e("Updat Profile Respo", res);
                JSONObject jsonObject = new JSONObject(res);
                status = jsonObject.getString("status");
                String message = jsonObject.getString("message");
                if (status.equals("1")) {

                    ((MainActivity) getActivity()).popFragments();

                    MainActivity.tvUserName.setText(etNameEng.getText().toString());

                    user_image_url = CONSTANT.Customer_Image_Path + finalFile_name;
                    Log.e("User Image", user_image_url);
                    UserData.mUserImage = finalFile_name;

                    try {
                        Glide.with(getActivity()).load(user_image_url).diskCacheStrategy(DiskCacheStrategy.SOURCE).dontAnimate().placeholder(R.drawable.place_add_user_image).into(ivProfilePic);
                        txtAddProfilePhoto.setVisibility(View.GONE);
                        Glide.with(getActivity()).load(user_image_url).diskCacheStrategy(DiskCacheStrategy.SOURCE).dontAnimate().placeholder(R.drawable.icn_car).into(MainActivity.ivUserImageHead);
                    } catch (Exception e) {

                    }

                    Toast.makeText(activity, getString(R.string.your_profile_has_been_saved_successfully), Toast.LENGTH_SHORT).show();
                }
                else if(status.equals("0")){
                    Toast.makeText(activity, "Email Id already registered, Please try another Id", Toast.LENGTH_LONG).show();
                }
                else {
                    Toast.makeText(activity, getString(R.string.failed_please_try_again), Toast.LENGTH_SHORT).show();
                    DismissProgressDialog();
                    return;
                }

                DismissProgressDialog();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }

        @Override        public void onFailure(Call<ResponseBody> call, Throwable t) {
            Log.e("Sucess Fully", t.getMessage());
            DismissProgressDialog();
        }
    });
}

private RequestBody StringToRequestBody(String s) {
    return RequestBody.create(MediaType.parse("multipart/form-data"), s);
}

No comments:

Post a Comment