How to Store and Retrieve Image on SQLite/bg
Jump to navigation
Jump to search
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine. Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean. |
Как да съхраним и извлечем изображение или файл от SQLite
Изображенията и файловете като цяло могат да се съхраняват в база данни. Ето един начин да направите това като изпълните следните стъпки:
1. Прочетете файла в QByteArray. 2. Съхранете QByteArray-я като бинарен обект(Binary Large Object) в базата данни.
За пример :
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly)) return;
QByteArray byteArray = file.readAll();
QSqlQuery query;
query.prepare("INSERT INTO imgtable (imgdata) VALUES (?)");
query.addBindValue(byteArray);
query.exec();
Сега изображението/файла може да се получи като всеки друг вид данни:
QSqlQuery query("SELECT imgdata FROM imgtable");
query.next();
QByteArray array = query.value(0).toByteArray();
Създаване на QPixmap от QByteArray :
QPixmap pixmap = QPixmap();
pixmap.loadFromData(array);
И сме говоти! Сега пиксмапа може да се използва в бутон каот икона или в QLabel и т.н.