как загрузить изображение, используя запрос PUT на retrofit2 для параметра - PullRequest
0 голосов
/ 07 апреля 2020

Я хочу загрузить изображение на сервер с запросом PUT. изображение будет отправлено с именем params «image», более конкретно «image = image.jpg». как будто мы отправили значение в POST req против params. например POST req мы отправили "id = 1". Я пытался с этим. но ответ, показывающий ошибку, что поле изображения является обязательным, то есть означает, что изображение не соответствует параметру «изображение»

@Headers("Accept: application/json")
    @Multipart
    @PUT("change-profile-pic")
    Call<ResponseBody> uploadImage(@Header("Authorization") String token,
                                   @Part MultipartBody.Part image
                                   );

и активности:

retrofitApiInterface.uploadImage(SharedPreferenceClass.getVal("token",getApplicationContext()),
                prepareImage("image",imageUri))

    MultipartBody.Part prepareImage(String imageName, Uri fileUri){
            File file = new File(GetImagePathFromDevice.getPath(getApplicationContext(),fileUri));

            RequestBody requestBody = RequestBody.create(MediaType.parse(Objects.requireNonNull(getContentResolver().getType(fileUri))),file);


            return MultipartBody.Part.createFormData(imageName,"image",requestBody);
        }

Может кто-нибудь, пожалуйста, помогите мне.

...