使用QFtp下载目录

时间:2013-07-21 10:09:36

标签: qt ftp qftp

我想下载服务器中目录的所有文件。所以,我这样做:

_ftp->list("myDirectory/");

我连接信号listInfo,我实现了这样的插槽:

void manageFTP::on_listInfo(QUrlInfo info) 
{
    if (!info.isDir())
    {
        QString remoteFile= "remote";
        QFile *file = new QFile(info.name());
        if (file ->open(QIODevice::ReadWrite))
            _ftp->get(remoteFile, file);
    }
}

我的问题是知道下载完全完成的时间,因为我不知道目录中有多少文件,而且我不知道最后获取的 id / em>的。我如何知道并确保下载已完成?

1 个答案:

答案 0 :(得分:0)

您的LIST和GET命令是异步调度和执行的。当最后一个待处理命令完成时QFtp发出done(bool error)信号。因此,在执行LIST命令之前,只需将一个合适的插槽连接到此信号,您​​将在所有命令完成后收到通知。完成后不要忘记断开信号。