2013-09-08 3 views
-1

сегодня я начал проект с использованием Qt, и у меня возникли проблемы с загрузкой файлов с помощью NetworkAccessManager. Я очень новичок в Qt и до сих пор не понимаю структуру, поэтому, пожалуйста, начинайте с новичков со своими предложениями =)Qt NetworkAccessManager Как загрузить файл по HTTP

Если это вообще возможно, не могли бы вы опубликовать код, чтобы помочь мне? заранее спасибо!

ответ

1

Это чрезвычайно упрощенный код. Все виды проверок удаляются. Он не предназначен для копирования/вставки в производственную систему. Нет логинов. Нет ssl.

QNetworkAccessManager *manager = new QNetworkAccessManager(this); 
connect(manager, SIGNAL(finished(QNetworkReply*)), 
this, SLOT(replyFinished(QNetworkReply*))); 

QNetworkRequest request; 
request.setUrl(QUrl(source)); // source = url to the file you want to download. 
manager->get(request); 

replyFinished слот:

replyFinished(QNetworkReply *reply){ 
reply->deleteLater(); 
QByteArray yourFile = reply->readAll(); 
} 

Снова: Проверьте документацию для деталей, например обработка ошибок. Для упрощения я предположил, что действительно полное содержимое вашего файла уже доступно при вызове replyFinished.