簡體   English   中英

如何將base64字符串圖像解碼為字節數組並將其作為blob類型存儲在數據庫中?

[英]How to decode a base64 string image into byte array and store it as blob type in database?

我有一個Base64字符串圖像,存儲在我的移動數據庫中。 我想將其轉換為Blob類型並將其保存在數據庫中。

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

這就是我嘗試過的。

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

 json.put("during_unloading_photo", byteImage); 

其中json是我的JSONObject,而after_unloading_photo是列名稱,它是Blob類型。我無法在我的數據庫中存儲字節數組,即byteImage作為Blob類型。

因此您有一個通過查詢創建的表,如下所示:

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

並且當您需要更新數據庫中的圖像時,您可以這樣做:

ContentValues values = new ContentValues();

values.put(DbUtil.ImageContentName, byteImage);

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

這很簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM