Имеется СУБД PostgresSQL, в ней таблица с полем bytea, в которое необходимо сохранять PDF-файлы. Делаю это из Qt так:
QFile file("file.pdf");
file.open(QIODevice::ReadOnly);
QByteArray ba = file.readAll();
m_query->prepare("insert into t_documents (value) values (?)");
QVariant v;
v = ba;
m_query->bindValue(0,v,QSql::In|QSql::Binary);
m_query->exec();
а считываю
m_query->exec("select value from t_documents where id=5");
m_query->next();
QVariant v1 = m_query->value(1);
QByteArray ba1 = v1.toByteArray();
QFile file1("file1.pdf");
file1.open(QIODevice::WriteOnly);
file1.write(ba1);
file1.close();
Считанные файлы не открываются. Попробывал сохранить простой текстовый файл с содержимым 1234567890, а получил x3031323334353637383930. Подозреваю, что-то с кодировкой, возможно надо base64 влепить?