在GDK中将Image转换为base64

时间:2014-09-20 14:52:17

标签: google-glass google-gdk

我目前正致力于将图像作为Base64传递给休息服务。但我无法读取该文件。这是我的代码:

if (requestCode == iPictureCode && resultCode == RESULT_OK) { String picturePath = data.getStringExtra(Intents.EXTRA_PICTURE_FILE_PATH); String image = processPictureWhenReady(picturePath); }


`private String processPictureWhenReady(final String picturePath){ final FileFile = new File(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()'

的if块

可能是什么问题?

1 个答案:

答案 0 :(得分:2)

您似乎已根据example in the developer docs修改了代码,但删除了else子句,其中FileObserver用于检测图像何时实际可用。您也需要该部分,因为当活动返回时,完整尺寸的图像可能不会立即就绪。