QT5 实现 ftp 的QFtp

时间:2024-06-02 07:40:15

由于QT5不再导出QFtp,提供的QNetworkAccessManager仅支持ftp的上传put和下载get。想在Qt里实现ftp的list\cd怎么办?各种折腾,整了好长时间。还看到在github有有下载,但看时间已经很久了。还好,最终找到了官方下载的地址https://code.qt.io/cgit/qt/qtftp.git/。感觉只有官方的才是最靠谱的。官方源码需要使用git下载 (git clone https://code.qt.io/qt/qtftp.git)。我把下载的源码和下载地址都放在了http://download.****.net/download/ruoge2007/10201776,有需要的可以去下载。

文档:http://doc.qt.io/archives/qt-4.8/qftp.html

QT5 实现 ftp 的QFtp

QT5 实现 ftp 的QFtp

 

有example,用的是QT += ftp,这咱加载module的方式。不太明白是怎么加载进去的。有知道的方便告之,谢谢!

 

-------------2018-03-13

1,发现如果 ftp->mkdir("/"),再ftp->mkdir("/123"),第二次的123是创建不成功的。用list函数枚举,在commandfinished根据error判断,error为true表示没有dir,为假表示有dir.

2,调用ftp->put 上传文件,出现“QIODevice::read (QTcpSocket, "QFtpDTP Passive state socket"): device not open”,文件实际上传成功。

3, put ,get 中文失败,http://blog.****.net/chaijunkun/article/details/6293107