up 0 down

Я работаю над приложением для Android и пытаюсь использовать конечную точку, которая получает изображение, сохраняет его в облачном хранилище Google и возвращает URL-адрес.

Вопрос:

Я НЕ новичок в работе с конечными точками, но я не знаю, какой объект изображения отправить (Uri, растровое изображение, файл и т.д.). Каждый используемый мной формат возвращает внутреннюю ошибку сервера.

Вот часть моего пользовательского интерфейса службы, отвечающая за выполнение запроса:

@POST("/add")
Call<PhotoUrlGetter> getUrlForPhoto(@Body Uri media);

Вот часть моего кода, где я на самом деле делаю запрос:

Uri media = ""; //the value is gotten from the image the user selected from gallery

UserService photoService = ServiceGeneratorForMedia.createService(UserService.class, "photoservice");

    Call<PhotoUrlGetter> photoCall = photoService.getUrlForPhoto(media);

    photoCall.enqueue(new Callback<PhotoUrlGetter>() {
             @Override
             public void onResponse(Call<PhotoUrlGetter> call, Response<PhotoUrlGetter> response) {
                  if(response.isSuccessful()){
                     Toast.makeText(getActivity().getApplicationContext(), response.body().getMediaUrl(), Toast.LENGTH_LONG).show();
                         }
                  else{
                         Toast.makeText(getActivity().getApplicationContext(), Integer.toString(response.code()), Toast.LENGTH_LONG).show();
                         }
                      }

              @Override
              public void onFailure(Call<PhotoUrlGetter> call, Throwable t) {
                       Toast.makeText(getActivity().getApplicationContext(), "Failed", Toast.LENGTH_LONG).show();
                        }
                    });