如何将 JSON 的多个图像文件从 android 上传到服务器?
How to upload multiple image files with JSON to server from android?
我必须从 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"
}
}
]
}
我有这样的数据要上传。
我试过用凌空,android联网。但是不知道能不能上传这样的文件
我上传的正文为 json。不起作用。请帮忙。
您可以将 Retrofit 用于 API 调用,您可以将负载作为 @Body
发送,或者 API 提供商要求。您可以在 Retrofit 构建器中设置 Gson
转换器,这样您就不必编写普通的 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)
我必须从 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"
}
}
]
}
我有这样的数据要上传。
我试过用凌空,android联网。但是不知道能不能上传这样的文件
我上传的正文为 json。不起作用。请帮忙。
您可以将 Retrofit 用于 API 调用,您可以将负载作为 @Body
发送,或者 API 提供商要求。您可以在 Retrofit 构建器中设置 Gson
转换器,这样您就不必编写普通的 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)