簡體   English   中英

如何在Android的一個HTTP POST請求中一起發送嵌套的json數據和圖像?

[英]How to send nested json data and image together in one HTTP POST request in Android?

我目前正在使用org.apache.http.entity.mime.MultipartEntityBuilder 以下無效:

.addPart("key", new StringBody(jsonObject.toString()))

.addTextBody("key", jsonObject.toString())

.addTextBody("key", jsonObject.toString(), ContentType.APPLICATION_JSON)

在這里, jsonObject是一個org.json.JSONObject

非嵌套字段和圖像字段可以正確驗證,但是嵌套字段似乎沒有被填寫(服務器返回“此字段是必需的。”)。

也歡迎不使用MultipartEntityBuilder解決方案。

我對Apache的MultipartEntityBuilder一無所知。

但是,您始終可以將圖像作為json對象中的Base64字段發送。 在服務器中,您需要將其映射到byte[]字段。

多部分數據在嵌套json中不能很好地發揮作用。 我決定平整服務器API中的嵌套字段。 然后,仍然使用MultipartEntityBuilder構建請求:

HttpEntity entity = MultipartEntityBuilder.create()
.addTextBody("inner_key1", jsonObject.get("inner_key1").toString())
.addTextBody("inner_key2", jsonObject.get("inner_key2").toString())
.addTextBody("inner_key3", jsonObject.get("inner_key3").toString())
.addBinaryBody("image", new File(imagePath))
.build();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM