Как отправить FormData с запросом MultiPart, используя retrofit2? - PullRequest
0 голосов
/ 05 июня 2018

Я занимаюсь разработкой приложения для Android, в котором мне нужно загрузить несколько изображений на php-сервер из приложения для Android, и в настоящее время я застрял с несколькими вопросами:

1) Можем ли мы передать параметры полянаряду с изображениями для загрузки в виде запроса Multipart, и если да, то какой должен быть правильный формат запроса?

2) Является ли ниже одного правильный способ загрузки нескольких изображений из Android?

3) Чтодолжна быть правильная стратегия для плавной загрузки нескольких изображений?

Вот мой предварительный код, который, я думаю, помогает любому понять, чего я пытаюсь достичь.

@Multipart
@FormUrlEncoded
@POST(AppConstants.BASE_URL+AppConstants.POST_AD)
Observable<Response<PostedAd>> postAd(@Header(AppConstants.HEADER_ACCESS_TOKEN) String headerToken,@Part("images[]") RequestBody files, @Field(AppConstants.FIELD_AD_TITLE) String adTitle, @Field(AppConstants.FIELD_AD_DESCRIPTION) String adDesc,@Field(AppConstants.FIELD_AD_ADDRESS) String adAddress,@Field(AppConstants.FIELD_AD_CITY) String city,@Field(AppConstants.FIELD_AD_STATE) String state,@Field(AppConstants.FIELD_AD_ZIPCODE) String zipcode,@Field(AppConstants.FIELD_AD_CONTACT_NUMBER) String contactNumber,@Field(AppConstants.FIELD_AD_TYPE) String adType,@Field(AppConstants.FIELD_AD_BUDGET_RATE) String adbudgetOrRate);

Примечание: API-интерфейсы REST разработаны таким образом, что он не позволяет мне отправлять все поля в качестве параметра Single Body.

1 Ответ

0 голосов
/ 09 июня 2018

У меня есть решение моей проблемы.В основном моя проблема заключалась в том, чтобы отправить данные формы с несколькими изображениями, и они присутствуют в Retrofit2.

Итак, если вы ищете такое же требование, вот ссылки, которые могут вам помочь:

Отправка параметров запроса с несколькими запросами с использованием PartMap
Загрузка нескольких изображений с использованием Retrofit2

Объедините оба этих решения вместе, и вы можете отправить параметры запроса вместе с несколькими файлами.

...