저는 base64 인코딩 된 이미지를 서버로 보내려 할 때 안드로이드의 발리 라이브러리를 사용하여 서버에 요청하면 요청이 실패하지만 인코딩 된 문자열을 제거하면 아무 문제없이 요청이 성공합니다. 나는 내 이미지
발리를 사용하여 서버에 base64 문자열을 보내는 방법
public static String imgToBase64(Bitmap bitmap) {
ByteArrayOutputStream out = null;
try {
out = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 50, out);
out.flush();
out.close();
byte[] imgBytes = out.toByteArray();
return Base64.encodeToString(imgBytes, Base64.DEFAULT);
} catch (Exception e) {
return null;
} finally {
try {
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
을 인코딩하고
public void sendDataToServer(final ApiResponse.Listener<JSONObject> listener, final ApiResponse.ErrorListener errorListener, String image) {
String url = String.format(ASK, image);
url = URLEncoder.encode(url);
JsonRequest sendRequest = new JsonRequest(Request.Method.POST, url,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
listener.onResponse(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
if (error != null) {
if (error.networkResponse != null) {
errorListener.onErrorResponse(error.networkResponse.statusCode, null);
} else {
errorListener.onErrorResponse(500, null);
}
}
}
});
RequestPipeline.getInstance(mContext).addToRequestQueue(sendRequest);
}
자세한 내용을 입력하십시오. 요청이 정확히 어떻게 실패합니까? 잘못된 서버가 응답합니까? 네트워크 문제가 있습니까? 다른 것? 'JsonEmptyResponseRequest'도 무엇입니까? – SergGr