today i began a project using Qt, and i am having a little trouble downloading files with NetworkAccessManager. I am very new to Qt and dont quite understand the structure yet, so please bee beginner friendly with your suggestions =)

if it is at all possible, would you be able to post some code to help me out? thanks in advance!

有帮助吗?

解决方案

This is an extremely simplified code. All kinds of checks are removed. It is not meant to be copy/pasted into a production system. No logins. No 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);

The replyFinished slot:

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

Again: Check the docs for details, e.g. error handling. For simplification I assumed, that really the full content of your file is already available when replyFinished is called.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top