改造:与JSON组成部分

时间:2018-07-31 06:32:06

标签: android json retrofit retrofit2 multipart

我想发送包含Multipart表单数据的json。

我熟悉标头+多部分表单数据,但是标头不能发送中文/希伯来字符的问题。所以我需要为此使用json。

有人可以帮我吗?

我的JSON ::

{
        "agent": "ee",
        "phone": "123",
        "manager": "234"
}
具有“图像”参数的Multipart的

form-data。

1 个答案:

答案 0 :(得分:1)

尝试一下

    RequestBody fileBody = RequestBody.create(MediaType.parse("image/*"), selectedImage /* file name*/);
    MultipartBody.Part filePart = MultipartBody.Part.createFormData("image", selectedImage.getName(), fileBody);

agent = RequestBody.create(MediaType.parse("text/plain"), "<agent-value>");
phone = RequestBody.create(MediaType.parse("text/plain"), "<phone-value>");
manager = RequestBody.create(MediaType.parse("text/plain"), "<manager-value>");

以及您的界面类

  @Multipart
@POST(UPDATE_PROFILE_IMAGE)
Call<JsonObject> updateImage(@Part MultipartBody.Part image,
                             @Part("agent") RequestBody agent,
                             @Part("phone") RequestBody phone,
                             @Part("manager") RequestBody manager);

它适用于所有设备