Qt NetworkAccessManager如何通过HTTP下载文件

时间:2013-09-08 22:08:48

标签: qt http download qnetworkaccessmanager

今天我开始使用Qt的项目,我在使用NetworkAccessManager下载文件时遇到了一些麻烦。我对Qt很新,并且还不太了解结构,所以请初学者友好地提出您的建议=)

如果可能的话,你能发布一些代码来帮助我吗?提前谢谢!

1 个答案:

答案 0 :(得分: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时,文件的完整内容确实可用。