firemail
标题:
Qt从url下载文件
[打印本页]
作者:
Qter
时间:
2018-4-12 16:48
标题:
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"));
}
复制代码
downloadmanager.zip
(7.1 KB, 下载次数: 2)
2018-4-12 17:41 上传
点击文件名下载附件
欢迎光临 firemail (http://firemail.wang:8088/)
Powered by Discuz! X3