Qt 使用QFtp下载一个文件

Qt 使用QFtp下载一个文件,qt,ftp,Qt,Ftp,我正在尝试在Qt中开发一个客户端FTP。我尝试在服务器中下载文件时遇到问题 在readyRead()信号对应的插槽中,我有一个QByteArray,结果是readAll()方法;如果文件小于3-4KB,则可以,否则结果不完整(我只有文件的开头) 我试着做: while(_ftp->bytesAvailable() > 0) QByteArray array = _ftp->readAll(); 但它也失败了!有人知道如何恢复整个文件吗?来自QFtp::readyRea

我正在尝试在Qt中开发一个客户端FTP。我尝试在服务器中下载文件时遇到问题

在readyRead()信号对应的插槽中,我有一个QByteArray,结果是readAll()方法;如果文件小于3-4KB,则可以,否则结果不完整(我只有文件的开头)

我试着做:

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

但它也失败了!有人知道如何恢复整个文件吗?

来自
QFtp::readyRead
的文档:

如果您希望在数据可用时立即处理数据块,则此信号非常有用。如果您只对完整数据感兴趣,只需连接到commandFinished()信号并读取数据即可

因此,您需要连接到
commandFinished
信号并在插槽中使用
readAll