Назад к вопросам
Junior — Middle
78
Каким образом можно передать изображение на сервер с использованием библиотеки Retrofit?
Компании, где спрашивали
ВанТу Ворк
Ответ от нейросети
sobes.tech AI
Для передачи изображения на сервер с помощью Retrofit обычно используют multipart-запрос. Изображение передается как часть формы с типом MultipartBody.Part. Пример:
// Интерфейс API
public interface ApiService {
@Multipart
@POST("upload")
Call<ResponseBody> uploadImage(@Part MultipartBody.Part image);
}
// Подготовка файла и создание MultipartBody.Part
File file = new File("path/to/image.jpg");
RequestBody requestFile = RequestBody.create(MediaType.parse("image/jpeg"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("image", file.getName(), requestFile);
// Вызов API
ApiService service = retrofit.create(ApiService.class);
Call<ResponseBody> call = service.uploadImage(body);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
// обработка успешного ответа
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
// обработка ошибки
}
});
Такой подход позволяет отправить файл как часть multipart/form-data запроса, что часто требуется для загрузки изображений на сервер.