Ошибка «Поток неожиданно завершился» при загрузке нескольких изображений с использованием Retrofit 2.0 для Android - PullRequest
1 голос
/ 22 апреля 2019

Я использую Retrofit 2.0 для загрузки изображений на сервер в Android. Ниже приведен код интерфейса.

    @Headers("Content-Type: multipart/form-data; boundary=MyMediaFormBoundary")
@Multipart
@POST("api/media/upload/v1")
Call<MyResponse> uploadMedia(@Header("authToken") String authToken,
                                      @Part("media_file\"; filename=\"media_file.jpg\" ") RequestBody filePart,
                                      @Part("media_format") RequestBody format,
                                      @Part("media_library_id") RequestBody noteId,
                                      @Part("media_title") RequestBody title);

Вот мой код для создания параметров тела запроса

File file = new File(mediaFileUri.getPath());
                RequestBody fbody = RequestBody.create(MediaType.parse("image/*"), file);
                RequestBody formatBody = RequestBody.create(MediaType.parse("text/plain"), format);
                RequestBody titleBody = RequestBody.create(MediaType.parse("text/plain"), title);
                RequestBody idBody = RequestBody.create(MediaType.parse("text/plain"), id + "");

Когда я вызываю мой интерфейсный метод с указанными выше параметрами, я получаю сообщение об ошибке «пар неожиданно завершился», и мне интересно, что именно я делаю неправильно.

Я также пытался использовать объект MultipartBody.Part для модификации в интерфейсе выше, но результат все тот же.

Ниже приведены ссылки, которые я использовал для справки: первая ссылка вторая ссылка

Примечание: я сомневаюсь, что это связано с неправильным запросом, но мне не очень помогает бэкэнд-команда, и она работает на iOS. Единственная информация, которая у меня есть, на стороне сервера - это выборка медиа-файла для ключа 'media_file', но мне интересно, где его использовать.

1 Ответ

0 голосов
/ 22 апреля 2019

Если вы отправляете изображение, тогда почему тип носителя - текстовый / обычный?

...