Sunucumun php/slim komutunu çalıştıran bir put-volley-isteği kullanarak base64 kodlu bir görüntü gönderirken bazı sorunlar yaşıyorum.Base64 kodlu görüntü, android'den sunucuya yüklendiğinde kesiliyor
Verileri göndermeden önce verdiğimde iyi görünüyor, ancak sunucumdan alır almaz, veriler bozuk/kesilmiş. Görüntüyü gönderme şöyle görünür için
Benim Android Kodu: my android-işlevinde çıkışı benziyor
$app->put('/image', function() use ($app){
$image = $app->request->put('image');
$response['error'] = false;
$response['image'] = $image;
echoResponse(200, $response);
});
:
benim sunucudaprivate void updateImage(Bitmap myImage) {
String tag_string_req = "req_updateimage";
String updateUrl = String.format(API_DOMAIN + AppConfig.URL_UPDATE_IMAGE);
StringRequest strReq = new StringRequest(Request.Method.PUT, updateUrl, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
//do some stuff
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "Error: " + error.getMessage());
}
}){
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("Content-Type", "application/json; charset=UTF-8");
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
myImage.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream.toByteArray();
String base64Image = Base64.encodeToString(byteArray, Base64.DEFAULT);
params.put("image", base64Image);
System.out.println(params);
return params;
}
};
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
}
, ben böyle bir işlevi var base64 kodlu doğru görüntü. Sunucumda, görüntünün yalnızca% 30'u var. Bana yardımcı olabilir misiniz? Bugüm nerede? Yanlış olan ne? peşin
sayesinde
RiPr
Post maksimum veri boyutunu php.ini'den artırın –
Resim boyutu 40kb ile Max 100kb arasındadır. Varsayılan gönderi maksimum veri boyutu yaklaşık 20 M'dir, değil mi? Bence bu benim Sorunumu çözmeyecek. – RiPr
Resminizin base64'de olduğu gibi string olarak değişmesi sorun yaratabilir. Bu yüzden sunucuya görüntü yüklemek için birden çok parça deneyin. Hızlı ve etkili bir şekilde –