Qt使用QNetworkAccessManager实现Ftp操作
博客地址已更改,文章数量较多不便批量修改,若想访问源文请到 coologic博客 查阅,网址:www.coologic.cn
如本文记录地址为 techieliang.com/A/B/C/ 请改为 www.coologic.cn/A/B/C/ 即可查阅
版权声明:若无来源注明,Techie亮博客文章均为原创。 转载请以链接形式标明本文标题和地址:
本文标题:Qt使用QNetworkAccessManager实现Ftp操作 本文地址:http://techieliang.com/2017/12/653/
1. 介绍
QtNetwork是Qt网络操作模块,提供了基于TCP/IP的各种API,除了之前介绍过的最基础的TCP及UDP通讯:QTcpSocket-Qt使用Tcp通讯实现服务端和客户端、QUdpSocket-Qt使用Udp通讯实现服务端和客户端,还提供了HTTP、HTTPS、FTP等高级API,并统一使用QNetworkAccessManager进行操作。HTTP操作请看:Qt使用QNetworkAccessManager实现Http操作
qt4x分别使用QFtp和QHttp,5以后统一用QNetworkAccessManager
2. 使用说明
首先请看:Qt使用QNetworkAccessManager实现Http操作
ftp与http操作完全一样,只不过需要设置一下用户名、密码、地址、端口、文件路径。这些操作只需要对QUrl做配置,其余不需要改变
分别调用QUrl的
- void setUserName(const QString &userName, ParsingMode mode = DecodedMode)
- void setPassword(const QString &password, ParsingMode mode = DecodedMode)
- void setHost(const QString &host, ParsingMode mode = DecodedMode)
- void setPort(int port)
- void setPath(const QString &path, ParsingMode mode = DecodedMode)
上述对于还需要配置一下:setScheme(“ftp”)
- void setScheme(const QString &scheme)
这个指的是 ftp:// 和http://由于并没有通过setUrl设置url,需要主动的指定scheme
上面分别指定了ftp以及ip,port及path,这四项可以直接setUrl但是建议分别调用组合
3. 上传与下载
下载就是get,除了QUrl配置不一样其他与http完全相同,最后把get得到的所有数据保存到文件即可
上传那就是put,先从文件读取出所有数据,然后put即可,注意读取完存为QByteArray
类型
转载请以链接形式标明本文标题和地址:Techie亮博客 » Qt使用QNetworkAccessManager实现Ftp操作