如何将多个带有JSON的图像文件从android上传到服务器?

如何将多个带有JSON的图像文件从android上传到服务器?,android,json,file-upload,android-volley,fast-android-networking,Android,Json,File Upload,Android Volley,Fast Android Networking,我必须从android上传JSON中包含的多个图像 { "topicId" : 1, "QuizTest": [ { "question": "This first question for test", "Image" : "file:///D:/Images/fb_lo

我必须从android上传JSON中包含的多个图像

{
       "topicId" : 1,
       "QuizTest": [
            {
                "question": "This first question for test",
                "Image" : "file:///D:/Images/fb_logo.png",
                "isTrue" : 3,
                "OptionFor":
                    {
                        "1" : "i am option 1",
                        "2" : "i am option 2",
                        "3" : "i am option 3",
                        "4" : "i am option 4"
                    }
                
            },
            {
                "question": "This second question for test",
                "Image" : "",
                "isTrue" : 2,
                "OptionFor": 
                    {
                        "1" : "i am  2 option 1",
                        "2" : "i am 2 option 2"
                     }
                
            },
            {
                "question": "This third question for test",
                "Image" : "file:///D:/Images/icon.png",
                "isTrue" : 1,
                "OptionFor": 
                    {
                        "1" : "i am 3 option 1",
                        "2" : "i am 3 option 2",
                        "3" : "i am 3 option 3",
                        "4" : "i am 3 option 4",
                        "5" : "i am 3 option 5"
                     }
                
            }
        ]
}
我有这样的数据要上传

我已经尝试过一次截击,安卓网络。但我不确定我是否能上传这样的文件


我上传了json的正文。不起作用。请提供帮助。

您可以在API调用中使用改装,您可以将有效负载作为
@Body
发送,或者按照API提供程序的要求发送。您可以在改型生成器中设置
Gson
converter,这样就不必编写简单的
Json
对象

如果您使用的是Kotlin,那么可以编写如下所示的数据类

data class Options(
  val 1: String,
  val 2: String,
  val 3: String,
  val 4: String,
  val 5: String 
)
data class Question(
  val question: String,
  val Image: String,
  val isTrue: Int,
  val OptionFor: Options
)
data class Test(
  val topicId:Long,
  val QuizTest: Questions
)
然后您可以在API调用中将它们作为有效负载发送

@POST("{api_end_point}")
fun sendData(@Body test: Test)

我已经准备好上传我的JSON数据,如上面问题所述。这是否也会上载图像文件?否@sachinhane,为此您需要使用
(@Part file:MultipartBody.Part
)格式。基本上是<代码>改版让你上传文件作为多部分数据,你可以在他们的官方文档中读取这个文件。考虑从文件中独立地上传文件,最后在最终的有效载荷中发送图像URL。是的,我可以将文件与最终的有效载荷分开作为多个部分。你的意思是说我不能用这个JSON上传这个,我必须单独上传文件和JSON,对吗?是的@sachinhanne。您也可以将文件与Body参数一起上载,但在这种情况下,您的服务器需要将这些文件映射到各自的对象。因此,只选择前一种解决方案。