Qt5编译使用QFtp

简述

使用 QNetworkAccessManager 可以实现 Ftp 的上传/下载功能(参考:Qt之FTP上传/下载),但有些原本 QFtp 有的功能 QNetworkAccessManager 却没有提供,例如:list、cd、remove、mkdir、rmdir、rename 等。这种情况下,就不得不使用 QFtp,值得庆幸的是 QFtp 一直在维护,只需要下载源码自行编译即可使用。

QFtp

下载

从 GitHub 下载 QFtp:

https://github.com/qt/qtftp

或者使用命令下载 :

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 文件。

这里写图片描述

  • 将 Qt5Ftpd.lib、Qt5Ftp.lib、Qt5Ftpd.prl、Qt5Ftp.prl 拷贝至 D:\Qt\Qt5.5.1\5.5\msvc2013\lib。
  • 将 Qt5Ftpd.dll、Qt5Ftp.dll 拷贝至 D:\Qt\Qt5.5.1\5.5\msvc2013\bin。
  • 将 qftp.h、qurlinfo.h 拷贝至 D:\Qt\Qt5.5.1\5.5\msvc2013\include\QtNetwork,并新建一个名为 QFtp 的文件(没有后缀名),然后用本写入 #include "qftp.h"

完成之后,就可以使用 QFtp 了。

使用

在 pro 中添加 QFtp 库:

CONFIG(debug, debug|release) {
    LIBS += -lQt5Ftpd
} else {
    LIBS += -lQt5Ftp
}

例如,如果要连接并登录到 FTP 服务器,这是简单的实现:

#include <QFtp>

// ...
QFtp *ftp = new QFtp(parent);
ftp->connectToHost("192.168.***.***", 21);  // 主机:192.168.***.*** 端口号:21  
ftp->login("wang", "123456");  // 用户名:wang 密码:123456
// ...

首先使用 connectToHost() 连接 FTP 服务器,然后通过 login() 登录到 FTP 服务器。登录成功之后,就可以调度其他操作(例如:list()、cd()、get()、put()、remove()、mkdir()、rmdir()、rename() 和 rawCommand())了。

更多参考

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值