【问题标题】:Qt NetworkAccessManager how to download file via HTTP [duplicate]Qt NetworkAccessManager如何通过HTTP下载文件[重复]
【发布时间】:2013-09-08 22:08:48
【问题描述】:

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

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

【问题讨论】:

    标签: qt http download qnetworkaccessmanager


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

    【讨论】:

      猜你喜欢
      • 2010-09-06
      • 2021-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多