Я пытаюсь загрузить изображение в свою базу данных с помощью Retrofit, но пока не получилось. Прочитав все темы, связанные с этим, и попробовав множество решений, я решил опубликовать свою проблему. Так что это мой код в Android
API
@Multipart
@POST("createevent")
Call<JsonResponse> createEvent(@Field("title") String title,
@Part MultipartBody.Part imageFile,
@Field("description") String description,
@Field("id_type") int id_type,
@Part("image") RequestBody image,
@Field("id_group[1]") int id_group,
@Header("Authorization")String authHeader);
REQUEST
public void CreateEvent(){
keepAllDates();
File file = new File("/storage/emulated/0/Download/carmena.jpg");
RequestBody requestFile =
RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part body =
MultipartBody.Part.createFormData("image", file.getName(), requestFile);
RequestBody image =
RequestBody.create(MediaType.parse("multipart/form-data"), "Your Name");
Call<JsonResponse> peticion = api.createEvent (eventTile,body,eventDescription, idTypeEvent,image,id_group,tokenHc);
peticion.enqueue(new Callback<JsonResponse>() {
@Override
public void onResponse(Call<JsonResponse> call, Response<JsonResponse> response) {
int code = response.body().getCode();
JsonResponse json = response.body();
Log.d ( "Respuesta del servidor", response.body ().getMessage () );
switch (code) {
case 200:
String message = response.body ().getMessage ();
//listener.onGetEventsFinish ();
break;
case 400:
// Toast.makeText ( MainActivity.this, errorMessage, Toast.LENGTH_SHORT ).show ();
String errorMessage = response.body ().getMessage ();
break;
default:
//Toast.makeText ( MainActivity.this, errorMessage, Toast.LENGTH_SHORT ).show ();
String defaultmsg = response.body ().getMessage ();
}
}
@Override
public void onFailure(Call<JsonResponse> call, Throwable t) {
Log.d ("Failure message", "fail");
Log.d ("fail is", String.valueOf(t));
}
});
}
POSTMAN
Я не могу заставить его работать, просто ничего не загружается.