上一篇文章讲了如何把文件作为BLOB数据类型保存到Oracle数据库中。那么如果把存到数据库中的BOLB字段保存到本地呢?
QSqlQuery query(_db);
QString sqlStr = QString("select F_FILE from T_UPDATE_FILE where F_FILENAME = \'%1\'").arg(info->fileName);
query.exec(sqlStr);
QStringList list;
QSqlRecord rec = query.record();
QByteArray ba;
while (query.next()) {
ba = query.record().value(0).toByteArray();
saveFile((info->updatePath + "/" + info->fileName), ba);
}
}
void UpdateClient::saveFile(QString path, QByteArray&ba) {
QString savePath = _exePathDir + "/" + path;
QFile file(savePath);
if (file.open(QIODevice::ReadWrite)) {
file.write(ba);
}
file.close();
}