0
我目前正在将图像作为Base64传递给休息服务。但我无法读取文件。这里是我的代码:在GDK中将图像转换为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()'
可能是什么问题呢?
感谢@Tony对你的回应...我在我的问题中删除了那段代码......但是现在当我用'EXTRA_THUMBNAIL_FILE_PATH'替换'EXTRA_PICTURE_FILE_PATH'时,它对我有用 – 2014-09-22 03:58:59
当缩略图图像立即准备就绪时活动结果被返回,所以如果你只需要一个低分辨率的图像,你可以使用它。但是,如果需要,您仍然需要使用FileObserver来检测全尺寸图像。缩略图立即可用的原因是,您可以在用户界面中显示某些内容,以确认照片是在准备完整图像时拍摄的。 – 2014-09-22 15:27:54
感谢@TonyAllevato的帮助:) – 2014-09-23 09:39:10