base64.java图像到字符串

时间:2014-01-22 21:29:27

标签: java android image base64

我正在尝试使用base64.java转换并使用

将图像转换为字符串
String image_str = Base64.encodeToString(bitmap, Base64.DEFAULT);

问题是它强调.DEFAULT表示DEFAULT无法解析或不是字段。现在我在每个例子中都看到我发现这是他们使用的,所以当我尝试它时为什么它不起作用呢?

它的整个功能看起来像

private void previewCapturedImage() {
    try {
        // hide video preview

        imgPreview.setVisibility(View.VISIBLE);

        // bimatp factory
        BitmapFactory.Options options = new BitmapFactory.Options();

        // downsizing image as it throws OutOfMemory Exception for larger
        // images
        options.inSampleSize = 8;

        final Bitmap bitmap = BitmapFactory.decodeFile(fileUri.getPath(),
                options);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();  
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);  
        byte[] b = baos.toByteArray(); 
        String image_str = Base64.encodeToString(b, Base64.DEFAULT);        
        imgPreview.setImageBitmap(bitmap);

    } catch (NullPointerException e) {
        e.printStackTrace();
    }
}

谢谢你, 泰勒

4 个答案:

答案 0 :(得分:2)

导入android.util.base64而不是org.apache.commons.codec.binary.Base64?

答案 1 :(得分:1)

尝试仅使用com.sun.org.apache.xerces.internal.impl.dv.util.Base64String encode(byte[] binary)

两种方法byte[] decode(String s)

这可能a)不适用于android和b)在将来的Java版本中删除。

答案 2 :(得分:1)

您使用的是正确的Base64类吗?基于你的代码示例,它应该是android.util.Base64(检查你的导入中有什么)。

答案 3 :(得分:1)

您的代码看起来就像我实现的那样。我唯一能想到的就是确保你要导入android.util.Base64,这些API是在API 8中添加的,所以如果你的目标低于那个,那么你就会遇到问题。

相关问题