Qt http QNetworkAccessManager下载文件

	manager = new QNetworkAccessManager(this);
QNetworkRequest request;
	request.setUrl(QUrl(strUrl));
    qDebug()<<strUrl;
	reply = manager->get(request);              //发送请求
	connect(reply, &QNetworkReply::readyRead, this, &DownLoadFiles::doProcessReadyRead);                //可读
	connect(reply, &QNetworkReply::finished, this, &DownLoadFiles::doProcessFinished);                  //结束
	connect(reply, &QNetworkReply::downloadProgress, this, &DownLoadFiles::doProcessDownloadProgress);  //大小
	connect(reply, QOverload<QNetworkReply::NetworkError>::of(&QNetworkReply::error),   this, &DownLoadFiles::doProcessError);//异常

下载写入文件 


void DownLoadFiles::doProcessReadyRead()             //读取并写入
{
	while (!reply->atEnd())
	{
        qDebug()<<QString::fromLocal8Bit("写数据");
		QByteArray ba = reply->readAll();
		myfile->write(ba);
	}
}



void DownLoadFiles::doProcessDownloadProgress(qint64 recv_total, qint64 all_total)      //显示
{
	emit sigupdateMoreinfo(QString::fromLocal8Bit("正在下载文件%1... %2/%3").arg(curDownfileName).arg(recv_total).arg(all_total));
	emit sigUpdateProcessBar(recv_total,all_total);
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值