-1

今天我开始了一个使用 Qt 的项目,但我在使用 NetworkAccessManager 下载文件时遇到了一点问题。我对 Qt 很陌生,还不太了解它的结构,所以请对你的建议友好的初学者=)

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

4

1 回答 1

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 时文件的全部内容已经可用。

于 2013-09-08T22:27:08.390 回答