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

时间:2016-06-01 14:10:43

标签: android json multipart okhttp

我正在使用多部分构建器,我必须在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'中传递图像参数。但遗憾的是,图片无法上传到服务器。

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

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

1 个答案:

答案 0 :(得分:0)

如果图像像头像一样小,你可以使用Base64 ecoding,ecode图像到长字符串,在你的json中添加它,并且只向服务器发送json,在服务器端你将需要解码64字符串来解析图像。