I am trying to insert an image data which I have downloaded with QNetworkAccessManager
as QByteArray
. I am trying to insert this QByteArray
as BLOB. My table creation query is
CREATE TABLE TILE_IMAGE(TILE_ID VARCHAR(1050), IMAGE_DATA BLOB,INSERTED_AT DATETIME,USED_AT DATETIME, PRIMARY KEY(TILE_ID))
I created the insert query like this,
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'))"));
But when I print the query it shows,
"INSERT INTO TILE_IMAGE(TILE_ID, IMAGE_DATA ,INSERTED_AT ,USED_AT) VALUES('ivbase_TILED_MAP_VIEW_16_37396_22531','ÿØÿà ',DATETIME('NOW'),DATETIME('NOW'))"
See the BLOB data is only 4 length long. And has some weird values. The screen shot of what the *imageData
contains is,
The image 256*256*4 length long. Its a jpeg image.
EDIT: I followed CL's code and now the IMAGE_DATA column has some diamon shape characters. The image is below.