Qt之FTP上传/下载文件操作
一个简单的Ftp客户端文件上传/下载操作示例。
上传文件
QNetworkAccessManager manager;
QUrl url;
/* 设置通讯协议 */
url.setScheme("ftp");
/* 设置用户名 */
url.setUserName("root");
/* 设置密码 */
url.setPassword("123456");
/* 设置主机,也可以是域名 */
url.setHost("127.0.0.1");
/* 设置端口号,一般为21 */
url.setPort(21);
/* 设置路径 */
url.setPath("/tmp/hello.png"); /* 装载本地文件 */
QFile file("/Desktop/hello.png");
file.open(QIODevice::ReadOnly);
/* 读取本地文件数据 */
QByteArray data = file.readAll();
file.close();QNetworkRequest request(url);
/* 上传数据,上传成功后会在远端创建/tmp/hello.png文件 */
QNetworkReply* reply = manager.put(request, data); QEventLoop eventLoop;
QObject::connect(reply, SIGNAL(finished()), &eventLoop, SLOT(quit()));
/* 进入等待,但事件循环依然进行 */
eventLoop.exec(); if (reply->error() != QNetworkReply::NoError) {qDebug() << "Error: " << reply->errorString();
}
下载文件
QNetworkAccessManager manager;
QUrl url;
/* 设置通讯协议 */
url.setScheme("ftp");
/* 设置用户名 */
url.setUserName("root");
/* 设置密码 */
url.setPassword("123456");
/* 设置主机,也可以是域名 */
url.setHost("127.0.0.1");
/* 设置端口号,一般为21 */
url.setPort(21);
/* 设置路径 */
url.setPath("/tmp/test.txt"); QNetworkRequest request(url);
/* 执行Get请求 */
QNetworkReply* reply = manager.get(request); QEventLoop eventLoop;
QObject::connect(reply, SIGNAL(finished()), &eventLoop, SLOT(quit()));
/* 进入等待,但事件循环依然进行 */
eventLoop.exec(); if (reply->error() == QNetworkReply::NoError) {/* 创建本地文件 */QFile file("test.txt"); file.open(QIODevice::WriteOnly);/* 写入文件 */file.write(reply->readAll()); file.close();
}
else {qDebug() << "Error: " << reply->errorString();
}
总结
- 上传文件:配置url->加载数据->put操作
- 下载文件:配置url->get操作->获取数据保存到文件
- 如服务端没有身份验证,客户端可以省略用户名和密码操作。
关注Qt君公众号获取更多知识。
Qt之FTP上传/下载文件操作相关推荐
- ftp: connect: 没有到主机的路由_Qt之FTP上传/下载文件操作
一个简单的Ftp客户端文件上传/下载操作示例. 上传文件 QNetworkAccessManager manager; QUrl url; /* 设置通讯协议 */ url.setScheme(&q ...
- python上传本地文件到ftp_python实现的简单FTP上传下载文件实例
本文实例讲述了python实现的简单FTP上传下载文件的方法.分享给大家供大家参考.具体如下: python本身自带一个FTP模块,可以实现上传下载的函数功能. #!/usr/bin/env pyth ...
- android ftp同步程序,ftp同步 安卓,安卓手机ftp上传下载文件功能同步视频照片
手机拍照越来方便,手机里的照片也越积越多,手机运行缓慢,本文利用安卓的每步FTP服务APP来自动实现手机视频照片的同步,释放手机被占用的存储空间.在机顶盒上运行每步FTP服务,机顶盒USB口连接U盘做 ...
- python get 下载 目录_python实现支持目录FTP上传下载文件的方法
本文实例讲述了python实现支持目录FTP上传下载文件的方法.分享给大家供大家参考.具体如下: 该程序支持ftp上传下载文件和目录.适用于windows和linux平台. #!/usr/bin/en ...
- bat定时进行ftp上传下载文件
bat进行ftp上传下载文件 参考文章: https://blog.csdn.net/yongzai666/article/details/86488761 背景: 由于公司某个系统原本硬盘损坏 , ...
- ftp上传-下载文件通用工具类,已实测
话不多说直接上代码 package com.springboot.demo.utils;import lombok.extern.slf4j.Slf4j; import org.apache.comm ...
- ftp上传下载文件详解
首先导入包 import org.apache.commons.NET.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; FTPCli ...
- java ftp上传文件_jaVA使用FTP上传下载文件的问题
为了实现 FTP上传下载,大概试了两个方法 sun.net.ftp.FtpClient org.apache.commons.net 一开始使用sun.net.ftp.FtpClient,结果发现唯一 ...
- linux ftp上传下载文件,Linux下ftp命令上传下载文件
命令行下连接ftp服务器 方式一: 默认端口 ftp hostname 方式二: 指定端口 [ec2-user@ip-99-240-80-144 ~]$ ftp ftp> open 99.240 ...
最新文章
- Cpp 对象模型探索 / operator new、operator delete、operator new[] 和 operator delete [] 重载
- 【Linux病毒】腾讯云 cron、sshd 进程CPU占用超95%(亡命徒 Outlaw 僵尸网络攻击)问题排查及处理步骤
- Sentinel(十五)之在生产环境中使用 Sentinel
- php 标题去重复思想,WordPress网站发布文章时如何防止发布重复标题的文章?
- [Hive] - Hive参数含义详解
- 【Python五篇慢慢弹】快速上手学python
- Java执行jar总结
- read, readline, readlines
- MapReduce 初学总结
- .dat文件写入byte类型数组_不可不知的可变Java长数组
- web 开发生产率_11种可帮助Web开发人员克服最后期限的生产力工具
- QAC静态代码测试工具试用介绍_c/c++
- 内网机器如何连接公网
- it计算机职业评估,最新澳洲技术移民评估ACS 职业评估(计算机IT类)
- MAGIX Sequoia 15 v15.5 Windows 高级母带广播音频制作软件
- 七牛云 阿里云图片存储 新增套餐 分页 定时任务Quartz(作业:编辑和删除功能)
- 电锯惊魂—经典的语言
- 分开旅行—没有什么失恋是一场旅行解决不了的
- jpa 托管_jpa深入
- Word无法启动转换器mswrd632.wpc”方法