将base64字符串转换为位图时出现异常

时间:2015-05-04 16:02:11

标签: java bitmap illegalargumentexception

我试图通过将位图转换为base64字符串来将位图上传到mysql表。当我尝试通过下载base64字符串并将base64字符串解码为位图来使用图像时,它会抛出IllegalArgumentException:bad base-64。我用来编码的代码是:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.JPEG, 10, baos); 
byte[] b = baos.toByteArray();
byte[] encodedImage = Base64.encode(b, Base64.DEFAULT);
avatarString = new String(encodedImage);

我用来解码的代码是:

public Bitmap ConvertImgURIToBitmap(String imageUri)
{
    byte[] decodedByte = Base64.decode(imageUri, 0);
    //byte[] decodedByte = imageUri.getBytes();
    return BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);
} 

base64字符串是  / 9J / 4AAQSkZJRgABAQAAAQABAAD / 2wBDAFA3PEY8MlBGQUZaVVBfeMiCeG5uePWvuZHI ////////     //////////////////////////////////////////// 2wBDAVVaWnhpeOuCguv ///// ////////     ////////////////////////////////////////////////// ////////// wAARCAEOAQ4DASIA     AhEBAxEB / 8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL / 8QAtRAAAgEDAwIEA

我想避免错误的基础64异常。我怎样才能解决这个问题?请在我出错的代码中告诉我。

0 个答案:

没有答案