【问题标题】:BitmapFactory.decodeByteArray returns null in androidBitmapFactory.decodeByteArray 在 android 中返回 null
【发布时间】:2010-08-18 11:16:46
【问题描述】:

在我的应用程序中,我将 base64 字符串转换为图像。为此,我最初将 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();

但我的图片在

Bitmap myImage = BitmapFactory.decodeByteArray(imageData, 0, imageData.length);

请告诉我您的宝贵建议。

提前致谢:)

【问题讨论】:

  • 只是一个提示:在代码前后各留一个空行以启用正确的代码格式化程序
  • @Remmyabhavan 嗨,我遇到了同样的问题,你能建议我吗

标签: android


【解决方案1】:

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

【讨论】:

  • 是的,我正在使用它将字节数组转换为位图图像。但出现空错误。我传递的图像数据是字节数组。
【解决方案2】:

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

“数据:图像/jpeg;base64,”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多