如何使用Android在MySQL中存储图片

时间:2018-12-06 10:58:39

标签: android mysql encoding base64

我试图开发一个Android应用程序,使用户能够从他的画廊中添加图片,它可以正常工作并在图像视图中显示该图片。 问题是我试图将此图片保存在我想存储为Blob的MySQL数据库中(而不是URL或路径)。 我尝试了下面的代码从用户的库中获取图像并将其显示在图像视图中。 属性test2是一个字符串,它是我保存在数据库中的

if (requestCode == GET_FROM_GALLERY && resultCode == Activity.RESULT_OK && data != null) {
    Uri selectedImageUri = data.getData();
    imagepath = getPath(selectedImageUri);
}
////// edit
Bitmap image = BitmapFactory.decodeFile(imagepath);
FinalBytes = getBytes(image); // this will be save in DB
Bitmap getIt = getBitmap(FinalBytes);
imgV.setImageBitmap(getIt);
imgV.setDrawingCacheEnabled(true);
imgV.buildDrawingCache();
Bitmap testbit = imgV.getDrawingCache();
ByteArrayOutputStream testbyte = new ByteArrayOutputStream();
testbit.compress(Bitmap.CompressFormat.JPEG, 100, testbyte);
testbyte2 = testbyte.toByteArray();
base64Image = Base64.encodeToString(testbyte2, Base64.DEFAULT);

我使用下面的代码检索图像

byte[] decodedString = Base64.decode(Recipes[position].getRimage(), Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
holder.image.setImageBitmap(decodedByte);

但是我在解码时收到此消息。

illegalargumentexception bad base 64

请帮助我花2天时间解决此错误

0 个答案:

没有答案