How to Store and Retrieve Image on SQLite/es
Español English
Como Guardar y Recuperar una Imagen o Archivo con SQLite
Imágenes o cualquier tipo de archivos pueden ser guardados en un banco de datos. Aguí esta una manera de hacerlo siguiendo los siguientes pasos:
1. Cargar el archivo dentro de un QByteArray.
2. Guardar el QByteArray como un Binary Large Object (BLOB) en el banco de datos.
Por ejemplo :
<br /> QFile file(fileName);<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();<br />
Ahora, la imagen/archivo puede ser recuperada como cualquier otro tipo de dato
QSqlQuery query("SELECT imgdata FROM imgtable");
query.next();
QByteArray array = query.value(0).toByteArray();
Creando un QPixmap desde un QByteArray :
QPixmap pixmap;
pixmap.loadFromData(array);
Esta hecho. Ahora el pixmap puede ser usado en un QButton como un icono o en un QLabel, etc.