我试图通过将位图转换为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异常。我怎样才能解决这个问题?请在我出错的代码中告诉我。