How to Store and Retrieve Image on SQLite/bg
Jump to navigation
Jump to search
Как да съхраним и извлечем изображение или файл от SQLite
Изображенията и файловете като цяло могат да се съхраняват в база данни. Ето един начин да направите това като изпълните следните стъпки:
1. Прочетете файла в QByteArray.
2. Съхранете QByteArray-я като бинарен обект(Binary Large Object) в базата данни.
За пример :
<br /> QFile file&amp;#40;fileName&amp;#41;;<br /> if (!file.open(QIODevice::ReadOnly)) return;<br /> QByteArray byteArray = file.readAll();
QSqlQuery query;<br /> query.prepare("INSERT INTO imgtable (imgdata) VALUES (?)");<br /> query.addBindValue(byteArray);<br /> query.exec&amp;#40;&#41;;<br />
Сега изображението/файла може да се получи като всеки друг вид данни:
<br /> QSqlQuery query("SELECT imgdata FROM imgtable&quot;);<br /> query.next();<br /> QByteArray array = query.value(0).toByteArray();<br />
Създаване на QPixmap от QByteArray :
<br /> QPixmap pixmap = QPixmap();<br /> pixmap.loadFromData(array);<br />
И сме говоти! Сега пиксмапа може да се използва в бутон каот икона или в QLabel и т.н.