현재 Restaining 서비스에 Base64로 이미지를 전달하고 있습니다. 하지만 파일을 읽을 수 없습니다. 여기 내 코드입니다 :G64의 base64로 이미지 변환
if (requestCode == iPictureCode && resultCode == RESULT_OK) { String picturePath = data.getStringExtra(Intents.EXTRA_PICTURE_FILE_PATH); String image = processPictureWhenReady(picturePath); }
`개인 문자열 processPictureWhenReady (최종 문자열 picturePath) { 최종 파일 pictureFile = 새로운 파일 (picturePath);
if (pictureFile.exists()) {
// The picture is ready; process it.
Bitmap bitmap = BitmapFactory.decodeFile(pictureFile.getAbsolutePath());
bitmap = CameraUtils.resizeImageToHalf(bitmap);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 85, stream);
String base64Image = Base64.encodeToString(stream.toByteArray(), Base64.DEFAULT);
return base64Image;
}
은}`
는이 문제가 될 수 무엇 pictureFile.exists() '
의 경우 블록을 입력하지?
답장을 보내 주셔서 감사합니다. 제 질문에 해당 부분을 제거했습니다 ... 그러나 EXTRA_PICTURE_FILE_PATH와 (과) EXTRA_THUMBNAIL_FILE_PATH을 (를) 바꿨을 때 저에게 맞습니다. –
미리보기 이미지는 항상 즉시 준비됩니다. 활동 결과가 반환되므로 저해상도 이미지 만 필요하면 바로 사용할 수 있습니다. 그러나, 필요하다면 풀 사이즈 이미지를 감지하기 위해서는'FileObserver'가 필요합니다. 미리보기 이미지를 바로 사용할 수있는 이유는 전체 이미지를 준비하는 동안 사진이 촬영되었다는 확인 메시지로 UI에 무언가를 표시 할 수 있기 때문입니다. –
도와 주셔서 감사합니다 @ TonyAllevato :) –