Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 通过改造发送多图像-Android Studio_Asp.net Core_.net Core_Retrofit_Okhttp - Fatal编程技术网

Asp.net core 通过改造发送多图像-Android Studio

Asp.net core 通过改造发送多图像-Android Studio,asp.net-core,.net-core,retrofit,okhttp,Asp.net Core,.net Core,Retrofit,Okhttp,我正在尝试通过改造将图像发送到.NETCore服务器。使用Multipartbody.Part发送单个图像没有问题。可以但是我尝试使用列表或数组,图像数组不会进入服务器 我已经试了好几天了,但是我不能得出结论,请帮帮我 .NetCore API public IActionResult AddPost([FromForm]string title, [FromForm]string description, [FromForm]string[] steps, [FromForm]string[

我正在尝试通过改造将图像发送到.NETCore服务器。使用Multipartbody.Part发送单个图像没有问题。可以但是我尝试使用列表或数组,图像数组不会进入服务器

我已经试了好几天了,但是我不能得出结论,请帮帮我


.NetCore API

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

标题:好的,数据存在

描述:好的,数据存在

步骤:好的,数据存在

成分:好的,数据是存在的

**照片:计数: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>

此方法用于创建数组

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

mediaList.forEachIndexed { index, part ->
                    photos[index] = part
                }
val photos=Array(mediaList.size){MultipartBody.Part.createFormData(“,”)}
mediaList.foreachinedexed{index,part->
照片[索引]=零件
}

getPostMedia()方法

private fun getPostMedia():可变列表{
var postList=mutableListOf()
PostList.instance!!.forachedexed{index,post->
如果(!post.isAddPost){
添加(prepareFilePart(“post[$index]”,post.postUri))
}
}
返回邮件列表
}
  • 我解决了这个问题*
解决方案,在getPostMedia()方法中

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

mediaList.forEachIndexed { index, part ->
                    photos[index] = part
                }
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
    }
postList.add(prepareFilePart("photos", post.postUri))