Помогите плиз. Уже все перепробывал. Коннект и пассивным модом и активным.... Толку 0.
Пытаюсь скачать несколько файлов с сервера
Коннектюсь к серверу
void ftpClient::ftpConnectToSeeList()
{
ftp=new QFtp;
connect(ftp, SIGNAL(commandFinished(int,bool)),this, SLOT(ftpCommandFinishedToSeeList(int,bool)));
connect(ftp, SIGNAL(listInfo(QUrlInfo)),this, SLOT(ftpAddToList(QUrlInfo)));
ftp->setTransferMode(QFtp::Active);
ftp->connectToHost(GlobalVaribles::IPString,21);
ftp->login(GlobalVaribles::LoginString,GlobalVaribles::PasswordString);
}
Получаю список директорй на серваке.
В специальную форму вывожу список директорий.
Выбираю директорию
void ftpClient::ftpCommandFinishedToSeeList(int commandId, bool error)
{
if (ftp->currentCommand()==QFtp::Login)
ftp->list();
if (ftp->currentCommand()==QFtp::List)
{
opndlg=new opendialog;
opndlg->openTest();
for (int i=0;i<GlobalVaribles::DirList.size();i++)
{
opndlg->TestComboBox->setCurrentIndex(i);
opndlg->TestComboBox->addItem(GlobalVaribles::DirList[i]);
}
opndlg->show();
connect (opndlg->OkButton,SIGNAL(clicked()),this,SLOT(ftpGetFile()));
}
}
//------------------------------------------------------------------------------------------------------//
void ftpClient::ftpAddToList(const QUrlInfo &urlInfo)
{
GlobalVaribles::DirList.append(urlInfo.name());
}
переконнекчиваю сигналы, к другим слотам, для того чтобы скачать файл
void ftpClient::ftpGetFile()
{
disconnect(ftp, SIGNAL(commandFinished(int,bool)),this, SLOT(ftpCommandFinishedToSeeList(int,bool)));
disconnect(ftp, SIGNAL(listInfo(QUrlInfo)),this, SLOT(ftpAddToList(QUrlInfo)));
connect (ftp, SIGNAL(commandFinished(int,bool)),this, SLOT (DownLoadFile()));
connect(ftp,SIGNAL(listInfo(QUrlInfo)),this,SLOT(ftpDownLoadFile(QUrlInfo)));
QString Dir =opndlg->TestComboBox->currentText();
opndlg->close();
ftp->list(Dir);
}
получаю список файлов в выбранной директории и качаю их (их так всего 2. Заведомо известно какие).
void ftpClient::ftpDownLoadFile(const QUrlInfo &urlInfo)
{
file=new QFile (urlInfo.name());
ftp->get(urlInfo.name(), file);
}
Там лежат 2 файла. При дебаге urlInfo.name() я их вижу. При попытке скачать сервер отвечает мне:
(127.0.0.1)> LIST frst
(000014)19.06.2011 11:33:30 - student (127.0.0.1)> 150 Opening data channel for directory list.
(000014)19.06.2011 11:33:30 - student (127.0.0.1)> 226 Transfer OK
(000014)19.06.2011 11:33:30 - student (127.0.0.1)> SIZE Test.dat
(000014)19.06.2011 11:33:30 - student (127.0.0.1)>
550 File not found(000014)19.06.2011 11:33:30 - student (127.0.0.1)> TYPE I
(000014)19.06.2011 11:33:30 - student (127.0.0.1)> 200 Type set to I
(000014)19.06.2011 11:33:30 - student (127.0.0.1)> PORT 127,0,0,1,212,227
(000014)19.06.2011 11:33:30 - student (127.0.0.1)> 200 Port command successful
(000014)19.06.2011 11:33:30 - student (127.0.0.1)> RETR Test.dat
(000014)19.06.2011 11:33:30 - student (127.0.0.1)>
550 File not foundПомогите пожалуйста разобраться с причиной. Вроде все как в экзамплах, но тем не менее сервер скачать не дает. Пробовал сделать это клиентом их экзампла-качает все просто замечательно...
Как так? Ничего не понимаю. Пользую FileZilla server.