[翻译] Qt QFtp功能无法被Qt 5 Network系列模块替代的说明

        Qt4下Qt提供了QFtp类以完成FTP相关的操作,但是Qt5不再提供QFtp类了,取而代之的是QNetworkAccessManager,QNetworkRequest和QNetworkReply等类。那么Qt5的network模块能否替代QFtp等类呢?

        测试后发现,如果利用QNetworkRequest封装诸如: ftp://ftp.jaist.ac.jp/pub/qtproject/official_releases/jom/jom_0_6_08.zip以通过FTP下载某一个特定的文件是可以做到的;但是类似原int QFtp::list(const QString & dir = QString())这些接口的功能就无法完成了。

        在Stack Overflow上找了答案,确认Qt5下的QNetworkAccessManager等模块无法替代QFtp等模块。

        链接:https://stackoverflow.com/questions/14111120/qt-code-to-get-list-of-files-from-ftp-server-using-qnetworkaccessmanager

 

       

 

翻译如下:

标题:Qt编码并利用QNetworkAccessManager从FTP服务器上获取文件列表

问题:我正在用Qt编写一个FTP客户端程序,用的是Qt 5.0版本。

           我已经通过QNetworkAccessManager实现了上传和下载文件功能,之所以不用QFtp是因为Qt5下QFtp已被废除了。

           现在我想编码实现从FTP服务器获取文件列表,我知道在QFtp类下的具体做法但是不知道怎样利用QNetworkAccessManager完成这个功能,给个建议吧。

回答:如果你想从一个远程目录获取文件列表的话,你还是需要用QFtp,因为目前QNetworkAccessManager还无法做到。

           QFtp已经作为一个独立模块分离出去了,但是你可以从Gitorious仓库中下载:https://qt.gitorious.org/qt/qtftp (点击 "Source tree",然后点击"Download master..."以下载该模块)。

 

注:实际上到了Qt 5.10了还是无法完成对QFtp的替代,我目前考虑利用libcurl完成该功能......

转载于:https://www.cnblogs.com/r0xFED/p/9879338.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值