如何将多个带有JSON的图像文件从android上传到服务器?
我必须从android上传JSON中包含的多个图像如何将多个带有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
{
"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参数一起上载,但在这种情况下,您的服务器需要将这些文件映射到各自的对象。因此,只选择前一种解决方案。