2016-06-01 1 views
-1

Je travaille avec le constructeur multipart et je dois passer une image dans jsonArray.Comment passer un fichier image à l'intérieur de jsonArray en utilisant MultipartBuilder

Ensuite, je dois envoyer ce jsonArray créé en tant que valeur dans MultipartBuilder.

Je peux passer seule image à MultipartBuilder comme ci-dessous:

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

Maintenant, mon jsonArray est comme ci-dessous que j'ai créé manuellement:

[{"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"}] 

Maintenant, je passe ce jsonArray multipart constructeur comme ci-dessous:

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

Comme De ci-dessus jsonArray, vous pouvez voir que je suis passe image dans le paramètre "item_image". Malheureusement, les images ne peuvent pas être téléchargées sur le serveur.

Est-ce que je fais quelque chose de mal? Y a-t-il un autre moyen de le faire?

S'il vous plaît, laissez-moi vous aider à résoudre ce problème.

Répondre

0

Si l'image est petite comme un avatar, vous pouvez utiliser l'ecoding Base64, ecoder l'image en long string, ajouter votre json, et envoyer au serveur seulement json, et côté serveur vous aurez besoin de décoder la chaîne.

+0

Est-il possible de convertir l'image en Base64 sans la convertir en tableau d'octets? – AskingToStack