BitmapFactory.decodeByteArray在android中返回null

时间:2010-08-18 11:16:46

标签: android

在我的应用程序中,我将base64字符串转换为image。因为我最初将base 64文件转换为字节数组,后来我尝试转换为图像。 要转换为图像,我使用以下代码

    File sdImageMainDirectory = new File("/data/data/com.ayansys.Base64trial");
    FileOutputStream fileOutputStream = null;
    String nameFile="Images";
    try {

        BitmapFactory.Options options=new BitmapFactory.Options();
        options.inSampleSize = 5;
        options.inDither = true; 
        options.inPreferredConfig = Bitmap.Config.ARGB_8888;
        Bitmap myImage = BitmapFactory.decodeByteArray(imageData, 0, imageData.length);


        fileOutputStream = new FileOutputStream(
                sdImageMainDirectory.toString() +"/" + nameFile + ".jpg");


        BufferedOutputStream bos = new BufferedOutputStream(
                fileOutputStream);

        myImage.compress(CompressFormat.JPEG, quality, bos);

        bos.flush();
        bos.close();

但是我的图片在

时显示为null
Bitmap myImage = BitmapFactory.decodeByteArray(imageData, 0, imageData.length);

请告诉我您宝贵的建议。

提前致谢:)

2 个答案:

答案 0 :(得分:2)

decodeByteArray不会将base 64编码转换为字节数组。您需要首先使用Base64到字节数组转换器

答案 1 :(得分:1)

我遇到了同样的问题。我通过删除字符串的这一部分来解决它:

“数据:图像/ JPEG; BASE64,”