如何使用 MultipartBuilder 在 jsonArray 中传递图像文件

How to pass image file inside jsonArray using MultipartBuilder

我正在使用 multipart builder,我必须在 jsonArray 中传递图像。

然后,我必须将创建的 jsonArray 作为值发送到 MultipartBuilder 中。

我可以将单个图像传递给 MultipartBuilder,如下所示:

 multipartBuilder.addFormDataPart("image", "im.png", RequestBody.create(MediaType.parse("image/*"), fileImagePath));

现在,我的 jsonArray 如下所示,是我手动创建的:

[{"length":"1.1","item_image":"\bitmaptoprint.jpg","quantity":"1","weight":"11","height":"1.1","item_name":"item1","width":"1.1"},{"length":"2.2","item_image":"/Demo###.jpg","quantity":"2","weight":"2","height":"2.2","item_name":"item2","width":"2.2"}]

现在,我在 multipart builder 中传递这个 jsonArray,如下所示:

 .addFormDataPart("array", jsonItemArray.toString());

从上面的 jsonArray,你可以看到我在 'item_image' 参数中传递图像。但是,不幸的是,图片无法上传到服务器。

我做错了什么吗?有没有其他方法可以这样做?

请让我帮助解决这个问题。

如果图片像头像一样小,可以使用Base64编码,将图片编码成长字符串,添加到你的json中,只发送到服务器json,在服务器端你会需要解码 64 位字符串来解析图像。