Ich benutze Volley-Bibliothek in Android, um unseren Server aufzurufen, wenn versuchen, Base64-codierte Bild an den Server senden die Anfrage fehlschlagen, aber wenn die codierte Zeichenfolge die Anfrage Erfolg ohne irgendein Problem entfernen. Ich verwende den folgenden Code mein Bild, um es
So senden Sie Base64-String an Server mit Volley
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();
}
}
}
und senden Anfrage mit Volley mit der folgenden
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);
}
Geben Sie weitere Einzelheiten an. Wie genau schlägt die Anfrage fehl? Schlechte Serverantworten? Netzwerkproblem? Etwas anderes? Auch was ist 'JsonEmptyResponseRequest'? – SergGr