Android: не удалось получить оригинальную фотографию, снятую камерой (возможность читать только сжатые фотографии)
В моем приложении я делаю снимок на камеру Android, а затем хочу отправить его на сервер. Для этого я использую программирование Client Socket. Я преобразовываю захваченную фотографию в bytearray (byte []) и затем отправляю ее на сервер. Все работает идеально.
Проблема в том, что я не могу отправить оригинальное фото на сервер. Миниатюра фото отправляется на мобильный телефон Android. Но когда я снимаю фото на камеру, то в галерее есть оригинальное фото.
Как получить эту оригинальную фотографию для использования в моем приложении?
Мой код:
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra("outputFormat",Bitmap.CompressFormat.JPEG);
cameraIntent.putExtra("return-data", true);
startActivityForResult(Intent.createChooser(cameraIntent, "Select Picture"),
CAMERA_REQUEST);
И в методе onActivityResult:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_REQUEST) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
// byte[] a = (byte[]) data.getExtras().getByteArray("data"); // I also use this but not work
ByteArrayOutputStream bos = new ByteArrayOutputStream();
photo.compress(CompressFormat.JPEG, 100, bos);
byte[] bitmapdata = bos.toByteArray();
}
}
вbitmapdata фото есть, но сжатое фото не оригинал. Некоторые люди говорят, что изменить поле качестваcompress(CompressFormat.JPEG, 100, bos); между 0 и 100, но ничего не произойдет.
-- >> есть ли другой способ получить оригинальное фото, снятое камерой?
-- >> Когда фотография находится в папке на моем компьютере, я читаю эту фотографию в файле, указывая путь. экс-File file = new File(c:\newphoto\image.jpg); , Могу ли я использовать этот код в Android для чтения оригинальной фотографии, потому что я знаю название и местоположение фотографии. Если да, то какой путь читать фото в галерее. Это работа, если я дам путь как:\DCIM\Camera\photoName.jpg.
-- >> Или некоторые изменения нужно в моем текущем коде, и он будет работать нормально?