2013-07-13 26 views
0

我想在Qt中開發一個客戶端FTP。當我嘗試在服務器中下載文件時出現問題。用QFtp下載文件

在與readyRead()信號對應的插槽中,我有一個QByteArray生成readAll()方法;如果文件小於3-4 KB,它的行,否則的結果是不完整的(我有文件僅僅是個開始)

我試圖做的事:

while(_ftp->bytesAvailable() > 0) 
    QByteArray array = _ftp->readAll(); 

但也失敗了!有人知道如何恢復整個文件嗎?

回答

1

QFtp::readyRead文檔:

,如果你想盡快處理以塊的數據變得可用,這個信號是非常有用的。如果您只對完整的數據感興趣,只需連接到commandFinished()信號並讀取數據即可。

因此,您需要連接到commandFinished信號並在您的插槽中使用readAll