如何在okhttp3中的每个多部分图像文件中添加其他信息

问题描述

在这里,我将图像文件作为多部分数据动态发送到服务器:

MultipartBody.Builder builder = new MultipartBody.Builder()
                .setType(MultipartBody.FORM)
                .addFormDataPart("title",json);  

for (int i = 0; i < imageList.size(); i++) {
     File imageFile = imageList.get(i).getimageFile();
     if (imageFile.exists()) {
         builder.addFormDataPart("images[" + i + "]",imageList.getName(),RequestBody.create(MediaType.parse("image"),imageFile));
     }
}

MultipartBody requestBody = builder.build();

现在,我想向服务器的每个图像添加附加信息created_at作为String。我该如何实现?是否可以在 Retrofit / Volley 中使用?请帮忙。

解决方法

您可以使用以下代码实现目标

您的翻新服务

 @Multipart
 @POST(value = "example/endpoint")
 Call<ResponseBody> uploadImages(
        @Part(value = "created_at") RequestBody createdAt,@Part(value = "image") MultipartBody.Part image
 );

如何将String转换为RequestBody

RequestBody.create(String.valueOf(createdAt),MediaType.parse("text/plain"));