![](/img/trans.png)
[英]How to send image as bytes, and send json data together in the same HTTP request?
[英]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.