下载一个带有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);
    }
}

我的问题是知道下载何时完全完成,因为我不知道目录中有多少文件,也不知道最后一个getid。我怎样才能知道并确定下载已经完成?

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

相关内容

  • 没有找到相关文章

最新更新