@Multipart @FormUrlEncoded //тут выдает ошибку, но без нее нельзя использовать @FieldMap @POST("user/update") Call<ServerResponse> uploadFile(@Part MultipartBody.Part file, @FieldMap Map<String, String> mapUser); 

If you send without @FieldMap Map<String, String> mapUser then Ок comes to the log, and there is nothing on the server.

    1 answer 1

    Since this is a Multipart request, you need @PartMap instead of @PartMap :

     @Multipart @POST("user/update") Call<ServerResponse> uploadFile(@Part MultipartBody.Part file, @PartMap Map<String, RequestBody> mapUser); 

    You RequestBody get a RequestBody from a String like this:

     RequestBody requestBody = RequestBody.create(MediaType.parse("text/plain"), string); 

    Read more here .