我如何上傳圖像文件以及我的json。如何在android中使用retrofit 2上傳JSON中的多部分圖像數據?
我的請求JSON看起來在下面的格式。
{
"Request": {
"first_name": "Josmy",
"last_name": "J",
"profile_image_attributes": {
"image":"file"
}
}
}
在我GSON類我正在輸入值一些什麼樣的這個
public class Request implements Serializable {
@SerializedName("first_name")
private String firstName;
@SerializedName("last_name")
private String lastName;
@SerializedName("profile_image_attributes")
private MultipartBody.Part profileImageAttributes;
}
@Headers("Content-Type:application/json")
@POST(PSDApiconstants.REGISTRATION)
Observable<PSDSignUpResponseBean> registration(@Body PSDRegistrationRequestBean requestBean);
有不改變要求
{
"imag": "File",
"first_name": "Josmy",
"last_name": "J",
}
編輯任何方式
目前我認爲改進2.0 .1不支持以這種模式上傳圖片。所以我使用Asynchttp來解決這個問題。但可能會進行改進2將在7月底發佈最新版本
1)你叫什麼「多部分文件」? 2)JSON中沒有多部分的東西。 3)如果你想在JSON中放置一個圖像,你需要在Base64中編碼。 4)如果你想在上面的'image'這樣的一個按鍵下面放置更多的圖像,你將不得不通過你選擇的分隔符來分隔這些Base64編碼圖像。 ''***。 5)無論如何,服務器決定格式,所以你的問題沒有多大意義。發送服務器期望的內容。 –
@EugenPechanec我需要通過多部分圖像,而不是基地64.這可能嗎? – Nivedh
再次,什麼是「多部分圖像」?沒有「multipart JSON」,「multipart file」,「multipart image」,「multipart whatever」之類的東西。 ** HTTP POST正文可以是多部分**,在這種情況下,您可以發送JSON SEPARATOR IMAGE1 SEPARATOR IMAGE2 SEPARATOR IMAGEn等。HTTP POST正文只能使用JSON,圖像可以使用該JSON中的Base64編碼。 **這兩者之間沒有任何關係。**作爲API的客戶端在這方面沒有發言權。向API開發人員詢問API預期的格式。它真的是多部分?好,JSON請求的格式是什麼,多部分分隔符(邊界)是什麼。 –