我得到了錯誤的請求400當我發送base64圖像在web服務, 我把base64字符串JSON和POST使用改進。這裏是我的代碼200kb圖像base64無法發送到網絡服務
Bitmap bm = BitmapFactory.decodeFile("IMAGE PATH");
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 50, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream .toByteArray();
String imgbase64 = Base64.encodeToString(byteArray, Base64.NO_WRAP + Base64.URL_SAFE);
,並加入到JSONObject的
JSONObject jo = new JSONObject();
try {
jo.put("id",users.get(counter).getId());
jo.put("firstname",users.get(counter).getFirstname());
jo.put("middlename",users.get(counter).getMiddlename());
jo.put("lastname",users.get(counter).getLastname());
jo.put("suffix",users.get(counter).getSuffix());
jo.put("image",imgbase64);
jo.put("date_registered",users.get(counter).getDate_registered());
} catch (JSONException e) {
e.printStackTrace();
}
而且我會用改裝發送
ServiceInterface si = RestClient.getClient();
Observable<Response> call = si.postUser(jo.toString());
圖像大小爲200KB,我得到一個錯誤錯誤的請求 但是當我的圖像大小隻有10kb,它工作正常。 請幫忙。
用於大尺寸圖像的base64字符串可能非常長。這就是爲什麼有時它們只能發送到api的大小。更好的辦法是使用多部分上傳文件 –
webservice如何接收多部分參數?我的web服務只接受JSON? –
你也必須修改你的webservice –