Qt开源网络库[13]-断点续传下载
2023-06-13 09:17:29 时间
主要更新内容:添加了断点续传下载功能。
程序异常退出或网络中断,不再需要重新下载文件了,在断点处重新下载即可。
1. 断点续传下载
默认开启断点续传下载功能,即当程序异常退出时,再次运行会接着从已下载的位置下载。 需要注意的是:如果服务器不支持断点续传功能,则每次下载都是从头开始下载。
参数 | 解释 |
---|---|
enabled | 开启/关闭断点续传下载 |
HttpRequest &enabledBreakpointDownload(bool enabled = true);
文件下载进度的响应回调/信号槽,回调传递的参数分别是已保存的文件字节数和文件总字节大小。
HttpRequest &onFileDownloadProgress(const QObject *receiver, const char *method);
HttpRequest &onFileDownloadProgress(std::function<void (qint64, qint64)> lambda);
2. 例子
client.get("http://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/6.0/6.0.3/single/qt-everywhere-src-6.0.3.tar.xz")
.download() // 启用自动设置文件名字 => qt-everywhere-src-6.0.3.tar.xz
.enabledBreakpointDownload() // 启用断点续传下载
.onFileDownloadProgress([](qint64 recv, qint64 total) {
// 获取文件下载进度
qDebug().nospace() << (100 * qreal(recv)/total) << "%";
})
.onDownloadSuccess([](QString fileName) {
// 下载成功
qDebug() << "Download completed: " << fileName;
})
.onDownloadFailed([](QString error) {
// 下载失败
qDebug() << "Download failed: " << error;
})
.exec();
3. 代码地址
https://github.com/aeagean/QtNetworkService
相关文章
- QT实现简单的上位机软件
- Qt 下载安装
- Qt面试笔试题问答经验总结
- Python Qt GUI设计:QLineEdit和QTextEdit文本框类(基础篇—13)[通俗易懂]
- QT配置opencv_qt调用opencv
- Qt标准对话框的使用
- QT多线程实战_Qt多线程开发项目
- Qt-网络编程
- Qt软件商店上架几个组件
- Qt开源网络库[8]-上传文件与超时处理
- Qt开源网络库[9]-下载文件
- Qt开源网络库[9]-失败重试与重复请求
- Qt开源网络库[12]-身份验证
- Qt Qml 中动态创建 & 销毁视频容器技巧(一)
- Linux下Qt安装指南:快速部署Qt运行环境(linux下qt安装教程)
- Linux安装Qt:一步一步指南(linux安装qt)
- Qt Creator使用技巧
- Linux 环境下运用 Qt 编程的秘籍(linux下的qt编程)
- 在Linux系统下利用Qt程序设计实现的精彩之旅(linux与qt程序设计)
- Qt蓝牙编程指南:在Linux系统上使用Qt开发蓝牙应用程序(qt蓝牙编程linux)
- 使用Qt快速连接MySQL数据库(qt连接mysql)
- qt和MySQL的结合,实现强大的数据库系统(qtmysql)
- Linux Qt环境下的串口通信探究(linuxqt串口通信)
- 在Linux上开发应用程序:Qt系列版本深入解析(linux版本qt)
- Qt跨平台编译MySQL驱动实践(qt编译mysql驱动)
- 程序Qt与MySQL驱动程序:让您实现无缝连接(qtmysql驱动)
- Qt 5 与 MySQL 数据库联合使用:简单高效的开发实践(qt 5 mysql)
- Linux Qt ARM开发趋势分析(linuxqtarm)
- 轻松实现QT直连Microsoft SQL Server(qt直连mssql)
- Qt与SQLServer结合,提升开发效率(qt和sqlserver)
- Qt技术与SQLServer的完美结合(qt与sqlserver)
- Linux下Qt音频播放:轻松享受音乐乐活力(linux下qt音频播放)