Russian Qt Forum
Ноябрь 24, 2024, 04:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не загружает файл (дописал всю реализацию данного участка кода)  (Прочитано 2070 раз)
Ovoshlook
Гость
« : Июнь 19, 2011, 10:39 »

Помогите плиз. Уже все перепробывал. Коннект и пассивным модом и активным.... Толку 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.
« Последнее редактирование: Июнь 19, 2011, 15:15 от Ovoshlook » Записан
Ovoshlook
Гость
« Ответ #1 : Июнь 19, 2011, 20:03 »

Вроде разобрался. Качает, видимо все таки последовательно в листе качать он не хочет, пришлось каждый файл выкачивать.... только не пойму куда качает((( В примере качает в директорию со сборкой,  у меня там мои файлы не появляются. куда еще может качать кто нибудь может подсказать?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.057 секунд. Запросов: 20.