Android:我应该将什么图像格式传递到Google Cloud Storage中

时间:2019-01-14 13:11:15

标签: java android image google-cloud-platform retrofit

我正在开发一个Android应用程序,并且正在尝试使用一个摄取图像的终结点,并将其保存到 Google Cloud Storage 中并返回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();
                        }
                    });

0 个答案:

没有答案