Intereting Posts
Запуск телефонного разговора на устройстве – устройство не найдено Каков правильный способ связи с пользовательским представлением на активность, в которой он находится? Как я могу создать круг, в котором есть число? TextView и Button в каждой строке и onListItemClick () Сохранение Logcat в текстовый файл на устройстве Android Нет статического метода setOnApplyWindowInsetsListener исключение в Android BroadcastReceiver как внутренний класс Пользовательская кнопка Android с изображением и текстом внутри? Как потреблять и отклонять всплывающее окно при нажатии на него? Как добавить событие нажатия кнопки в студии Android CRITICAL_STRUCTURE_CORRUPTION BSOD Windows 8.1 с установленным эмулятором Intel HAXM Android В Android SDK внезапно отсутствует папка ant /. Удалил ли Google его? С 0.4.3 Android Studio, ошибка: «Синхронизация проекта Gradle не удалась. Основные функции (например, редактирование, отладка) не будут работать должным образом " Могу ли я удалить стиль ссылок по умолчанию для Android по умолчанию в webview Robolectric with Gradle: Ресурсы не найдены

Нужна помощь в многократном файле изображения POST с использованием модифицированной системы?

Как добавить несколько изображений / файлов по одному и тому же параметру вместе с другими текстовыми данными с помощью модификации?

Single image is uploading perfectly using following interface @Multipart @POST("/users/updateProfile/") public void updateProfileWithImage( @Part("user_id") TypedString first_name, @Part ("image") TypedFile image, Callback<WebResponse> callback); 

Solutions Collecting From Web of "Нужна помощь в многократном файле изображения POST с использованием модифицированной системы?"

Вы можете использовать @MultiPart Post с параметром @PartMap в качестве параметра

 Map<String, TypedFile> files = new HashMap<String, TypedFile>(); files.put("my file number one", new TypedFile("image/jpg", new File(filename))); files.put("my file number two", new TypedFile("image/jpg", new File(filename))); apiInterface.updateProfileWithImage("first name here", files); private interface ApiInterface{ @Multipart @POST("/users/updateProfile/") Response updateProfileWithImage( @Part("user_id") TypedString first_name, @PartMap Map<String,TypedFile> Files ); } 

Модернизация 2.0 + OkHttp 3

Объявление интерфейса:

 @POST("postpath") Call<Void> upload(@Body MultipartBody filePart); 

Создание MultiPartBody :

 MultipartBody.Builder requestBodyBuilder = new MultipartBody.Builder() .setType(MultipartBody.FORM); 

Затем для каждого файла (вы также можете добавить настраиваемые поля)

 requestBodyBuilder.addFormDataPart("extraImage[]", "photo.jpg", RequestBody.create(MediaType.parse("image/jpeg"), byteArrayOrFile)); 

и наконец

 api.upload(requestBodyBuilder.build()); 

PS вы можете добавить пользовательские поля формы (например, client.name ) в ту же форму с

 requestBodyBuilder.addFormDataPart("client[name]", null, RequestBody.create(MediaType.parse("text/plain"), name)) 

или

 requestBodyBuilder.addFormDataPart("client[name]", name)) 

Модернизация 1.9 :

Вы можете использовать MultipartTypedOutput для отправки переменной количества параметров с несколькими частями.

В дополнение к ответу Франсуа, для публикации нескольких изображений с тем же / повторяющимся именем поля (как массив) в модификации вы можете использовать MultipartTypedOutput

Подпись метода:

 @POST("/postpath") SomeResponse upload(@Body MultipartTypedOutput output); 

Применение:

 MultipartTypedOutput multipartTypedOutput = new MultipartTypedOutput(); multipartTypedOutput.addPart("mainImage", new TypedFile("image/jpeg", mainImage)); multipartTypedOutput.addPart("extraImage[]", new TypedFile("image/jpeg", file1)); multipartTypedOutput.addPart("extraImage[]", new TypedFile("image/jpeg", file2)); upload(multipartTypedOutput); 

Квадратные скобки

Обратите внимание, что некоторые серверные рамки (Rails) обычно требуют квадратных скобок (т. extraImage[] вместо extraImage ), другие – нет (Spring MVC).