如何使用 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 位字符串来解析图像。
我正在使用 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 位字符串来解析图像。