2013-09-27 1 views
0

(Использование Qt 4.7) У меня есть функция, которая должна вводить пользовательский ввод имени каталога, а затем перебирать файлы в каталоге по этому имени на FTP-сервере. Адрес FTP является постоянным, так он у меня жестко закодированы в До сих пор у меня есть это:.Использование Qt's QDirIterator с FTP-сервером

QString dir_name = /*whatever the user inputs*/; 
QString source = "ftp://username:[email protected]/" + dir_name + "/"; 
QDirIterator it(source, QDirIterator::NoIteratorFlags); 

while(it.hasNext()) 
{ 
    //do things with each individual file... 
} 

Однако, когда я запускаю это никогда не входит в цикл. Я помещаю в заявления печати, чтобы помочь отлаживать, и он продолжает говорить, что каталог, на который ссылается it, пуст, даже если это не так. Я попробовал просто скопировать и вставить результат для source в браузер, и это правильно. Я использовал как FTP-серверы, так и QDirIterator раньше, но никогда не вместе, есть ли что-то особенное, что мне нужно сделать, чтобы заставить его работать?

+0

QDir работает только для локальных файлов/ничего прозрачно отображаемых в файловой системе ОС. –

+0

Есть ли другой способ сделать это в этом случае? Я пытался понять это на некоторое время и как бы вычеркнуть – thnkwthprtls

+0

Я также попытался использовать QFtp для доступа к нему, но он все равно возвращается пустым – thnkwthprtls

ответ

1

Я использовал как FTP-серверы, так и QDirIterator раньше, но не вместе, есть ли что-то особенное, что мне нужно сделать, чтобы заставить его работать?

Ничего особенного, это просто не сработает, потому что QDirIterator работает с локальными файлами. Он не поддерживает сетевые драйверы как таковые. Вам нужно будет обрабатывать итерацию самостоятельно.

Прошу прощения за то, что вы были хуже.

Смежные вопросы