在单个请求中改进表单编码和多部分

时间:2014-11-20 09:56:52

标签: android retrofit

public interface PostMessage {
@Multipart
@POST("https://www.example.com/message")
void sendMessage(@QueryMap Map<String, String> queryMap,
        @Part("image") TypedFile imagefile, Callback<Response> response);
}

我尝试用@Feild和@Body加密queryMap。但它提供 IllegalArgumentException ,消息“只允许一个编码注释”

我的问题是:
在同一个请求中可以使用multipart进行数据加密吗?

1 个答案:

答案 0 :(得分:3)

仅供分享:另一种方法是 -

public interface PostMessage {
@Multipart
@POST("https://www.example.com/message")
void sendMessage(@PartMap Map<String, String> partMap,
        @Part("image") TypedFile imagefile, Callback<Response> response);
}

更新:使用Retrofit2

public interface PostMessage {
@Multipart
@POST("https://www.example.com/message")
Call<Response> sendMessage(@PartMap Map<String, String> partMap,
        @Part("image") TypedFile imagefile);
}