我正在尝试插入我下载的图像数据QNetworkAccessManager
as QByteArray
。我正在尝试将其插入QByteArray
为 BLOB。我的表创建查询是
CREATE TABLE TILE_IMAGE(TILE_ID VARCHAR(1050), IMAGE_DATA BLOB,INSERTED_AT DATETIME,USED_AT DATETIME, PRIMARY KEY(TILE_ID))
我像这样创建了插入查询,
query = QString("INSERT INTO ");
query.append("TILE_IMAGE");
query.append(QString("(TILE_ID, IMAGE_DATA ,INSERTED_AT ,USED_AT) VALUES(\'"));
query.append(*tileId);
query.append(QString("\',\'"));
query.append(QString(*imageData));
query.append(QString("\',DATETIME('NOW'),DATETIME('NOW'))"));
但是当我打印它显示的查询时,
"INSERT INTO TILE_IMAGE(TILE_ID, IMAGE_DATA ,INSERTED_AT ,USED_AT) VALUES('ivbase_TILED_MAP_VIEW_16_37396_22531','ÿØÿà ',DATETIME('NOW'),DATETIME('NOW'))"
看到 BLOB 数据只有 4 长。并且有一些奇怪的值。包含的屏幕截图*imageData
是,
图片长256*256*4。它是一个 jpeg 图像。
编辑:我遵循 CL 的代码,现在 IMAGE_DATA 列有一些钻石形状的字符。图片如下。