0

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

在对应于 readyRead() 信号的槽中,我有一个 QByteArray 导致 readAll() 方法;如果文件小于3-4 kB,没关系,否则结果不完整(我只有文件的开头)

我试过这样做:

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

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

4

1 回答 1

1

从以下文档QFtp::readyRead

如果您想在数据可用时立即以块的形式处理数据,则此信号很有用。如果您只对完整数据感兴趣,只需连接到 commandFinished() 信号并读取数据即可。

所以你需要连接到commandFinished信号并readAll在你的插槽中使用。

于 2013-07-13T12:49:07.627 回答