在Retrofit中使用Multipart时如何传递额外的帖子数据?

时间:2018-10-21 09:15:22

标签: android retrofit2

我在翻新的Android系统中使用以下代码上传图片:

 @Multipart 
 @POST("uploadimage") 
 Call<ImageUploadResponse> uploadImage(@PartMap Map<String, RequestBody> map);

但是如果我需要发送额外的数据,例如图像描述以及请求,该怎么办?

我无法使用@Field,就是我这样尝试:

@Multipart 
@FormUrlEncoded
@POST("uploadimage") 
Call<ImageUploadResponse> uploadImage(@PartMapMap<String,RequestBody> map,
@Field("description")String desc);

我收到一条错误消息,指出只允许使用一个注释。那就是@Multipart或@FormUrlEncoded。

1 个答案:

答案 0 :(得分:1)

您可以使用@Part代替@Field

@Multipart 
@POST("uploadimage") 
Call<ImageUploadResponse> uploadImage(@PartMap Map<String, RequestBody> map, @Part("description") String description);