Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 12.03.2013, 18:28   #1
ІГРОГРАЙКО
ПроЭктировщик
 
Аватар для ІГРОГРАЙКО
 
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений
(для 24 пользователей)
Qt как возобновить скачивание файла (QNetworkRequest)

Привет!

Я делаю стандартный довнлоад менеджер.
В нем должны быть кнопки старт, пауза, стоп. Он будет помнить какие части файла он скачал и должен возобновить закачку тех частей, которых еще нету.
Как это сделать?
В Qt скачать файл можно с помощью этих классов:
QNetworkAccessManager
QNetworkRequest
QNetworkReply
И самый простой способ скачать файл:
QNetworkAccessManager accesManager;
QNetworkRequest request("http://.../image.jpg");

//Начинаем скачивание
accesManager.get(request);

//Вызов saveFile() когда докачалось...
connect(&accesManager, SIGNAL(finished(QNetworkReply*)), SLOT(saveFile(QNetworkReply*)));

void saveFile(QNetworkReply *result)
{
QFile file("C:/.../image.jpg");
if (!file.open(QIODevice::WriteOnly))
    {
        qDebug() << "Cannot write file: " << file.fileName();
        return;
    }
else
    qDebug() << "File started! " << file.fileName();

file.write(result->readAll());

file.flush();
file.close();
qDebug() << "File saving - completted";
}
Должен это быть специфический QNetworkRequest, с подробным описанием какие части файла нужны, а не просто УРЛ на него? Если да, то как написать такой QNetworkRequest ???
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
(Offline)
 
Ответить с цитированием
Старый 13.03.2013, 17:48   #2
ІГРОГРАЙКО
ПроЭктировщик
 
Аватар для ІГРОГРАЙКО
 
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений
(для 24 пользователей)
Стрелка Ответ: Qt как возобновить скачивание файла (QNetworkRequest)

Спасибо уже сам разобрался!

Заодно поделюсь может кому то пригодится:
How to download large file quickly in Qt
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 21:18.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com