使用 QNetworkAccessManager 可以实现 Ftp 的上传/下载功能(参考:Qt之FTP上传/下载),但有些原本 QFtp 有的功能 QNetworkAccessManager 却没有提供,例如:list、cd、remove、mkdir、rmdir、rename 等。这种情况下,就不得不使用 QFtp,值得庆幸的是 QFtp 一直在维护,只需要下载源码自行编译即可使用。
QFtp下载从 GitHub 下载 QFtp:
或者使用命令下载 :
git clone https://github.com/qtproject/qtftp
完成之后,可以看到 qtftp 中包含源码及示例。
配置下面,以 MSVC为例。
打开 qtftp.pro,将默认配置:
CONFIG += static
CONFIG -= shared
改为:
CONFIG += staticlib
CONFIG += shared
这样,生成 *.dll 的同时也会生成 *.lib。
编译 QFtp,完成之后会在 lib 文件夹下生成 *.lib、*.dll、*.prl 文件。
完成之后,就可以使用 QFtp 了。
使用在 pro 中添加 QFtp 库:
例如,如果要连接并登录到 FTP 服务器,这是简单的实现:
首先使用 connectToHost() 连接 FTP 服务器,然后通过 login() 登录到 FTP 服务器。登录成功之后,就可以调度其他操作(例如:list()、cd()、get()、put()、remove()、mkdir()、rmdir()、rename() 和 rawCommand())了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |