【问题标题】:How to pass extra post data when using Multipart in Retrofit?在 Retrofit 中使用 Multipart 时如何传递额外的帖子数据?
【发布时间】:2018-10-21 17:58:40
【问题描述】:

我在 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。

【问题讨论】:

标签: android retrofit2


【解决方案1】:

您可以使用@Part 代替@Field

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

【讨论】:

  • 谢谢,你能告诉我如何在php中使用它吗? @零件描述?
  • 你可以查看这个问题stackoverflow.com/q/6694839/6207294
  • 不太清楚,但现在我要使用@Headers,因为我知道在 php 中处理它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-24
  • 2023-03-23
  • 2011-03-02
相关资源
最近更新 更多