如何在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"));

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...