Привет!
Я делаю стандартный довнлоад менеджер.
В нем должны быть кнопки старт, пауза, стоп. Он будет помнить какие части файла он скачал и должен возобновить закачку тех частей, которых еще нету.
Как это сделать?
В 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 ???