当前位置: 首页 > news >正文

深圳福永网站建设广告公司网上接单平台

深圳福永网站建设,广告公司网上接单平台,福州闽侯网站建设,快速刷排名的软件最好前言 之前只写过通过http协议通信,没有写过下载http地址中的文件或者文件夹,了解一下在QT下如何下载。 其实很简单,同使用协议通信相同的是,创建QNetworkAccessManager和QNetworkRequest,设置QNetworkRequest的url&a…

前言

之前只写过通过http协议通信,没有写过下载http地址中的文件或者文件夹,了解一下在QT下如何下载。

其实很简单,同使用协议通信相同的是,创建QNetworkAccessManager和QNetworkRequest,设置QNetworkRequest的url,通过get请求接收QNetworkReply中数据,利用downloadProgress信号接收每次下载下来的内容,直到下载完成。

代码如下:

 .pro

主要是加上network模块

#-------------------------------------------------
#
# Project created by QtCreator 2023-10-26T18:29:32
#
#-------------------------------------------------QT       += core gui networkgreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = load_http_file
TEMPLATE = app# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \widget.cpp \HEADERS += \widget.h \FORMS += \widget.ui

界面:

 widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QFile>
#include <QUrl>
#include <QNetworkReply>
#include <QNetworkRequest>
#include <QNetworkAccessManager>
#include <QEventLoop>
#include <QTimer>namespace Ui {
class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();bool downloadFile(QString url);
private slots:void on_load_zip_clicked();private:Ui::Widget *ui;private:bool flag_download = false;
};#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include <QDir>
#include <QThread>Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{}Widget::~Widget()
{delete ui;
}void Widget::on_load_zip_clicked()
{downloadFile(ui->lineEdit_url->text());
}bool Widget::downloadFile(QString url)
{if(flag_download){qDebug()<<"有正在下载中的文件,已停止当前下载。";return false;}int timeout = 1000 * 60; //* 3;QString path = "3D";QDir dir(path);if(!dir.exists()){if(!dir.mkdir(dir.absolutePath())){qDebug()<<"创建3D文件夹失败!";return false;}}path = path + "/" + url.section('/',-1,-1);qDebug()<<"url:"<<url<<" path:"<<path;QFile file(path);if (!file.open(QIODevice::WriteOnly)){qDebug()<<"打开待下载文件失败!";return false;}flag_download = true;QNetworkAccessManager networkManager;QNetworkRequest request;request.setUrl(QUrl(url));QNetworkReply *reply = networkManager.get(request);QTimer timer;QEventLoop eventLoop;connect(reply, &QNetworkReply::downloadProgress, [=, &file, &timer](qint64 bytesReceived,qint64 bytesTotal){qDebug()<<"当前下载的文件大小:"<<bytesReceived<<"   总文件大小:"<<bytesTotal;if (timer.isActive())timer.start(timeout);file.write(reply->readAll());});connect(reply, &QNetworkReply::finished, &timer, &QTimer::stop);connect(reply, &QNetworkReply::finished, &eventLoop, &QEventLoop::quit);connect(&timer, &QTimer::timeout, &eventLoop, &QEventLoop::quit);timer.start(timeout);eventLoop.exec();//QEventLoop::ExcludeUserInputEventsflag_download = false;if (reply->error() != QNetworkReply::NoError){qDebug()<<"请求失败!失败原因:"<<reply->error();file.close();delete reply;return false;}if(timer.isActive()){qDebug()<<"请求超时!";timer.stop();file.close();delete reply;return false;}qDebug()<<"下载3D文件成功!";file.close();delete reply;return true;
}
http://www.dinnco.com/news/527.html

相关文章:

  • 今日头条网站推广怎么做广东广州网点快速网站建设
  • 公司网站 开源百度退推广费是真的吗
  • 网站内容方向宁波seo网络推广推荐
  • 网站开发的现状及研究意义什么是软文写作
  • 顺德哪家做网站seo排名哪家公司好
  • 服务器与虚拟主机seo推广思路
  • 系统网站界面设计快排seo排名软件
  • 个人音乐网站模板怎么seo网站关键词优化
  • seo建站优化推广一个新手怎么做推广
  • 邯郸市建设局网站seo推广优化
  • wordpress 主题 mirana免费下载谷歌seo网站推广怎么做优化
  • 网站app软件大全免费武汉seo系统
  • 网站搭建中单页面微信引流用什么软件好用
  • 电脑网站适应手机如何做电脑软件推广平台
  • 在线查看qq空间网站手机百度电脑版入口
  • 招代理的网站要怎么做的百度登录注册
  • 网站资料如何做参考文献搜索引擎推广方式有哪些
  • 工信部 加强网站备案长沙seo推广
  • 购物网站二级店铺mvc天堂网长尾关键词挖掘网站
  • 福州h5建站东莞今日头条最新消息
  • 外管局网站做延期收款报告站长工具源码
  • 高端网站建设费用预算nba最新新闻新浪
  • 没有公众号建微信网站hao123影视
  • 做班级的活动的网站深圳网络营销运营
  • 潍坊大宇网络网站建设seo的作用
  • 深圳知名网站建设供应外贸网站免费推广
  • 中国建设银行网站公积金查询余额seo思维
  • 长沙网站定制建设快速优化seo
  • 深圳极速网站建设电话电商运营助理
  • 哈尔滨建设网站制作网络营销策划方案怎么写