我正在使用Retrofit 2.0.0-beta 4
。我正在尝试使用单个multipart request
上传多个图片:
API服务方法如下所示:
@Multipart
@POST("/feedback/add")
Call<ApiResponse> sendFeedbackWithImage(
@Part("token") RequestBody token,
@Part("subject") RequestBody subject,
@Part("message") RequestBody message,
@PartMap() Map<String, RequestBody> images);
我面临的问题是我在客户端没有收到错误,请求的日志如下:
02-24 16:25:57.961 9918-14402/com.listup.android D/OkHttp: Content-Type: multipart/form-data; boundary=ca30d2f6-1415-4437-89ae-71acd0a0a7cd
02-24 16:25:57.966 9918-14402/com.listup.android D/OkHttp: ������JFIF����������������C��: %# , #&')*)-0-(0%()
(����C (((((((((((((((((((((((((((((((((((((((((((((((((((����0d"���
����������������������
02-24 16:25:57.966 9918-14402/com.listup.android D/OkHttp: ������������}��!1AQa"q2���#B��R��$3br�
问题是我想将multiple images
发送到数组,而图像数量不固定。在服务器端,它们将成为用户对象元素的一部分,如下所示:
{
"user":{
"name":"Mukeka",
"email":"abc@gmail.com",
"images":[
{
"index":0,
"url":"http://url.com/1.jpg"
},
{
"index":1,
"url":"http://url.com/2.jpg"
}
]
}
}
答案 0 :(得分:1)
Call<ApiResponse> sendFeedbackWithImage(@PartMap() Map<String, RequestBody> descriptions,
@Part List<MultipartBody.Part> images);
使用partmap添加参数和列表以添加图像