Отправить мульти изображение с модификацией - Android Studio - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь отправить изображения на главный сервер net с модификацией. Нет проблем с отправкой одного изображения с Multipartbody.Part. Ладно. Но я пытаюсь использовать List или Array, массив изображений не go на сервер.

Я пытался несколько дней, но не могу прийти к выводу, пожалуйста, помогите мне.


.NetCore API

public IActionResult AddPost([FromForm]string title, [FromForm]string description, [FromForm]string[] steps, [FromForm]string[] ingredients, [FromForm]IFormFile[] photos)
        {}

Отладочная заметка;

title: okey, данные существуют.

описание: okey, данные существуют.

шаги: окей, данные существуют.

ингредиенты: окей, данные существуют.

** фотографии: COUNT: 0, ДАННЫЕ НЕ СУЩЕСТВУЮТ. ********* ********


Метод модернизации;

 @Multipart
        @POST("Post/addpost")
        fun sendPost(@Part ("title") title: String,
                     @Part ("description") description: String,
                     @Part ("steps") steps: Array<String>,
                     @Part ("ingredients") ingredients: Array<String>,
                     @Part photos: Array<MultipartBody.Part> ): Call<String>

Использование метода;

viewModel.sendPost(
                    title = postTitle.text.toString(),
                    description = postDescription.text.toString(),
                    steps = steps,
                    ingredients = ingredients,
                    photos = photos
                )

этот метод создать массив

val photos = Array<MultipartBody.Part>(mediaList.size){MultipartBody.Part.createFormData("", "")}

mediaList.forEachIndexed { index, part ->
                    photos[index] = part
                }

getPostMedia () метод

private fun getPostMedia(): MutableList<MultipartBody.Part> {

        var postList = mutableListOf<MultipartBody.Part>()

        PostList.instance!!.forEachIndexed { index, post ->
            if (!post.isAddPost) {
                postList.add(prepareFilePart("post[$index]", post.postUri))
            }
        }
        return postList
    }

1 Ответ

0 голосов
/ 17 января 2020
  • Я решил проблему *

Решение, в методе getPostMedia ().

postList.add(prepareFilePart("photos", post.postUri))
...