如何将base64字符串图像解码为字节数组并将其作为blob类型存储在数据库中?

时间:2014-12-16 05:24:28

标签: java android

我有一个Base64字符串图像,存储在我的移动数据库中。我想将其转换为blob类型并将其保存在数据库中。

我有String base64Image="iVBORw0KGgoAAAANSUhEUgAAAGAAAACgCAYAAADzcGmMAAAACSV...";

这就是我的尝试。

 byte[] byteImage=org.apache.commons.codec.binary.Base64.decodeBase64(befImage.getBytes());

 json.put("during_unloading_photo", byteImage); 

其中json是我的JSONObject,而during_unloading_photo是blob类型的列名。我无法在我的数据库中将字节数组,即byteImage存储为blob类型。

1 个答案:

答案 0 :(得分:0)

所以你有一个由查询创建的表:

query = "CREATE TABLE IF NOT EXISTS " + ImageTableName + " ("
                        + Id + " INTEGER PRIMARY KEY AUTOINCREMENT, "
                        + ImageUrlName + " TEXT, "
                        + ImageContentName + " BLOB );";
                db.execSQL(query);

当你需要在db中更新图像时,你会这样做:

ContentValues values = new ContentValues();

values.put(DbUtil.ImageContentName, byteImage);

int rowCount = context.getContentResolver().update(DbUtil.ContentUriImage, values, ImageUrlName + "=?", whereArgs);

这很简单。