我正在使用多部分构建器,我必须在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"}]
现在,我将在多部分构建器中传递此jsonArray,如下所示:
.addFormDataPart("array", jsonItemArray.toString());
从上面的jsonArray,你可以看到我在' item_image'中传递图像参数。但遗憾的是,图片无法上传到服务器。
我做错了吗?有没有其他方法可以这样做?
请让我帮忙解决这个问题。
答案 0 :(得分:0)
如果图像像头像一样小,你可以使用Base64 ecoding,ecode图像到长字符串,在你的json中添加它,并且只向服务器发送json,在服务器端你将需要解码64字符串来解析图像。