Russian Qt Forum
Октябрь 01, 2024, 02:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с файлом напрямую при запросе из базы данных.  (Прочитано 3649 раз)
Pupil
Гость
« : Май 29, 2012, 13:01 »

Здравствуйте!

При запросе файла из хранилища blob прежде чем приступаю к работе с файлом - копирую файл на жёсткий диск.
Если возможно, то каким образом работать с файлом, не копируя его на жёсткий диск?

Код:
savePath = "/dir/";

    QFile fromFile(savePath);
    QString zaprosegg = "select file_column from files where id_file=" + currselect;
    QSqlQuery qry;

        if (qry.exec(zaprosegg) == false)
        return;
   
    qry.next();
    fromBlob = qry.record().value(QLatin1String("file_column")).toByteArray();
    fromFile.open(QIODevice::WriteOnly);
    fromFile.write(fromBlob);  {
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #1 : Май 29, 2012, 13:12 »

Смотря что ты  подразумеваешь под словом "работать".
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #2 : Май 29, 2012, 13:18 »

У тебя есть toByteArray, это и есть твой файл.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Pupil
Гость
« Ответ #3 : Май 29, 2012, 14:09 »

Допустим, есть текстовый редактор у которого на входе
Код:
bool OpenTextFile (AnsiString FilePath);
как ей на вход подать ".toByteArray"?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #4 : Май 29, 2012, 14:14 »

Никак, если нет метода bool OpenTextBuffer (char *buf, size_t size);
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.067 секунд. Запросов: 23.