当前位置: 首页 > 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.sczhlp.com/news/89116/

相关文章:

  • 互动教学平台长沙seo推广营销
  • 网站服务器服务商wordpress安卓 图片大小
  • 做预约的网站织梦网站如何更新系统
  • 盘锦做网站选哪家好网页设计作品欣赏分析
  • 桐庐县建设局网站重庆市制作网站公司哪家好
  • 网站的文件夹中国建设银行昆山支行网站
  • 企业网站建站那种好网站建设国内外研究现状模板
  • 邯郸wap网站制作一站式做网站费用
  • 兴安盟老区建设促进会网站有没有做公司网站的
  • 专业做网站+上海网络站点推广的方法
  • 深圳网站公司网站建设泰安互联网公司
  • 什邡网站建设公司网站主题包括
  • 【UnrealEngine4】星球工作优化杂项
  • 网站降权多久恢复东山县建设局网站
  • wordpress中的全站链接怎么改金华建站模板
  • 深圳市做网站的有那些公司做玉的网站
  • 做水产的都用什么网站建设银行开通网银网站
  • 男女做那个什么的视频网站网页无法打开怎么办
  • 做网站还要什么认证吗网站做目录中
  • 唯品会网站页面设计不想让网站保存密码怎么做
  • 国内网页设计网站建设个性化网站建设
  • 服装公司网站设计wordpress 超过20M
  • JS 定时器 点击简书 button 加载更多 控制台触发
  • 音乐网站后台管理模板移动路由器做网站服务器
  • 外国网站界面网站seo服务公司
  • 赣州网红打卡旅游景点泰州seo网站推广
  • 网站建设面谈话术江门好的建站网站
  • 缙云企业网站建设网络域名怎么设置
  • 深圳网站开发工程师个人推广平台
  • 苏州网站建设书生商友北京正规网络运营设计培训