私はVolleyを使用してサーバーに画像を送信しています。以下はビットマップを圧縮してバイトに変換する私のコードです。実際のサイズで画像を送ろうとしていますが、bmp=Bitmap.createScaledBitmap(bmp,500,400, true)
と指定すると画像が伸びます。サーバーに画像を投稿していますが、サイズは非常に小さい
public String getStringImage(Bitmap bmp) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imageBytes = baos.toByteArray();
String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
return encodedImage;
}
これは私がサーバー上で取得していますサイズ、その本当に小さいです:以下
サーバーに送信されるコードです:
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> params = new Hashtable<String, String>();
for(int i=0; i<bitmapArray.size(); i++){
Log.d("size of array is",String.valueOf(bitmapArray.size()));
params.put("image"+(i+1),getStringImage(bitmapArray.get(i)));
params.put("name"+(i+1), "name"+(i+1));
}
return params;
}
あなたはgetStringImage' 'に渡しているビットマップが既に圧縮または – Leo
を小型化されていない、私はあなたが' onActivityResultからのビットマップを使用していると考えていることを確認してください - ここで
は、私は私の仕事のためにしたその一例ですこれは正しい選択ではない。 – Enzokie