[翻译] Qt QFtp功能无法被Qt 5 Network系列模块替代的说明
??????? Qt4下Qt提供了QFtp類以完成FTP相關(guān)的操作,但是Qt5不再提供QFtp類了,取而代之的是QNetworkAccessManager,QNetworkRequest和QNetworkReply等類。那么Qt5的network模塊能否替代QFtp等類呢?
??????? 測(cè)試后發(fā)現(xiàn),如果利用QNetworkRequest封裝諸如: ftp://ftp.jaist.ac.jp/pub/qtproject/official_releases/jom/jom_0_6_08.zip以通過(guò)FTP下載某一個(gè)特定的文件是可以做到的;但是類似原int QFtp::list(const QString & dir = QString())這些接口的功能就無(wú)法完成了。
??????? 在Stack Overflow上找了答案,確認(rèn)Qt5下的QNetworkAccessManager等模塊無(wú)法替代QFtp等模塊。
????????鏈接:https://stackoverflow.com/questions/14111120/qt-code-to-get-list-of-files-from-ftp-server-using-qnetworkaccessmanager
?
???????
?
翻譯如下:
標(biāo)題:Qt編碼并利用QNetworkAccessManager從FTP服務(wù)器上獲取文件列表
問(wèn)題:我正在用Qt編寫一個(gè)FTP客戶端程序,用的是Qt 5.0版本。
?????????? 我已經(jīng)通過(guò)QNetworkAccessManager實(shí)現(xiàn)了上傳和下載文件功能,之所以不用QFtp是因?yàn)镼t5下QFtp已被廢除了。
?????????? 現(xiàn)在我想編碼實(shí)現(xiàn)從FTP服務(wù)器獲取文件列表,我知道在QFtp類下的具體做法但是不知道怎樣利用QNetworkAccessManager完成這個(gè)功能,給個(gè)建議吧。
回答:如果你想從一個(gè)遠(yuǎn)程目錄獲取文件列表的話,你還是需要用QFtp,因?yàn)槟壳癚NetworkAccessManager還無(wú)法做到。
?????????? QFtp已經(jīng)作為一個(gè)獨(dú)立模塊分離出去了,但是你可以從Gitorious倉(cāng)庫(kù)中下載:https://qt.gitorious.org/qt/qtftp (點(diǎn)擊 "Source tree",然后點(diǎn)擊"Download master..."以下載該模塊)。
?
注:實(shí)際上到了Qt 5.10了還是無(wú)法完成對(duì)QFtp的替代,我目前考慮利用libcurl完成該功能......
轉(zhuǎn)載于:https://www.cnblogs.com/r0xFED/p/9879338.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的[翻译] Qt QFtp功能无法被Qt 5 Network系列模块替代的说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (2)shiro角色资源权限
- 下一篇: webstorm设置