|
本帖最后由 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"));
- }
复制代码
downloadmanager.zip
(7.1 KB, 下载次数: 2)
|
|