我正在尝试在Qt中开发客户端FTP。我尝试在服务器中下载文件时遇到问题。
在与readyRead()信号对应的插槽中,我有一个QByteArray,产生了readAll()方法;如果文件小于3-4 kB,则没关系,否则结果不完整(我只是文件的开头)
我试过:
while(_ftp->bytesAvailable() > 0)
QByteArray array = _ftp->readAll();
但它也失败了!有人知道如何恢复整个文件吗?
答案 0 :(得分:1)
来自QFtp::readyRead
的文档:
如果要在数据可用时立即处理数据,此信号非常有用。如果您只对完整数据感兴趣,只需连接到commandFinished()信号然后读取数据。
因此,您需要连接到commandFinished
信号并在广告位中使用readAll
。