Qter 发表于 2018-4-12 16:48:12

Qt从url下载文件

本帖最后由 Qter 于 2018-4-12 17:42 编辑

示例1:
通过Qt自带的例子学习,位置:[安装盘符]:\Qt\Qt5.1.1\5.1.1\Src\qtbase\examples\network\download

示例2:
通过Qt的文档,位置:https://wiki.qt.io/Download_Data_from_URL

用法原理:
1、使用QNetworkAccessManager的get方法,得到QNetworkReply
2、通过QNetworkReply其readAll方法,取得其中的QByteArray,即为下载的数据
3、利用QFile(QTemporaryFile)的write方法将数据写到磁盘上

另:如果URL为重定向的,则需要先通过QNetworkAccessManager的get方法得到QNetworkReply的重定向网址,再次使用上述的方法进行下载,用法如下:
m_pReply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl()#include "downloadmanager.h"
DownloadManager manager;
QObject::connect(&manager, SIGNAL(finished()), this, SLOT(downFinished()));
private slots:
    void downFinished();

void MainWindow::downFinished()
{
    qDebug() << "down finished!";
}

void MainWindow::downFile()
{
    manager.append(QUrl("http://www.firemail.wang:8088/production_resource/chunhui/demo.dor"));
}
页: [1]
查看完整版本: Qt从url下载文件