Russian Qt Forum

Qt => Вопросы новичков => Тема начата: koldun90 от Ноябрь 13, 2015, 12:47



Название: проблема с qftp методом get
Отправлено: koldun90 от Ноябрь 13, 2015, 12:47
Здравствуйте делаю qftp сервер без графики(консольное приложение)
есть проблемы со скачиванием файла не пойму что тут не так....
приходит пустой файл


main.cpp
Код
C++ (Qt)
#include <QCoreApplication>
#include <myftp.h>
int main(int argc, char *argv[])
{
   QCoreApplication a(argc, argv);
   myftp ftp;
   ftp.connectserver();  //конекчусь к серверу
   ftp.poluc(QString(""));  //
   return a.exec();
}

myftp.h
Код
C++ (Qt)
#ifndef MYFTP_H
#define MYFTP_H
 
#include <QObject>
#include <QFtp>
#include <QUrlInfo>
#include <iostream>
#include <QFileInfo>
#include <QDir>
 
class myftp : public QObject
{
   Q_OBJECT
public:
   explicit myftp(QObject *parent = 0);
   QFtp a;
   QString ipadreess;
   QString port;
   QString login;
   QString parol;
   QString papka;
signals:
 
public slots:
   void connectserver(); // ÐÏÄËÌÀÞÅÎÉÅ Ë ÓÅÒ×ÅÒÕ
   void poluc(QString);
   void setip(QString);
   void loginparol(QString,QString);
   void poluchob(QUrlInfo);  //ÐÏÌÕÞÅÎÉÅ ÆÁÊÌÁ ÉÌÉÐÁÐËÉ ÎÁÈÏÄÑÝÉÓÑ × ÚÁÄÁÎÎÏÊ ÄÉÒÅËÔÏÒÉÉ
   void poluchif(int);
   void ustanpapka(QString);
   void kk(int,bool);
 
 
 
};
 
#endif // MYFTP_H
myftp.cpp


Код
C++ (Qt)
#include "myftp.h"
myftp::myftp(QObject *parent) :
   QObject(parent)
{
connect(&a,SIGNAL(listInfo(QUrlInfo)),this,SLOT(poluchob(QUrlInfo)));
}
 
 
void myftp::connectserver()
{
    std::cout<<"ÚÁÛÅÌ × ËÏÎÎÅËÔ="<<std::endl;
   a.connectToHost(QString("10.4.13.65"));
   a.login(QString("root"),QString("12345678"));
 
 
}
void myftp::poluc(QString ppka)
{
    std::cout<<"ÚÁÛÅÌ × ÐÏÌÕÞ="<<std::endl;
   a.cd(QString("ttt")); //ÐÅÒÅÈÏÄÉÍ × ÐÁÐËÕ ËÏÔÏÒÕÀ ÎÕÖÎÏ ÓËÏÐÉÒÏ×ÁÔØ
 
   a.list();  //ÐÏÌÕÞÁÅÍ ÓÐÉÓÏË ÏÂßÅËÔÏ×(ÆÁÊÌÏ× É ÐÁÐÏË) ÎÁÈÏÄÑÝÉÈÓÑ × ÄÁÎÎÏÊ ÐÁÐËÅ
 
  // std::cout<<ppka.toStdString()<<std::endl;
 
}
 
//ÐÏÌÕÞÁÅÍ ÉÍÑ ËÁÖÄÏÇÏ ÆÁÊÌÁ × ÐÁÐËÅ
void myftp::poluchob(QUrlInfo url)
{
 
 
 QString fail=url.name();
 std::cout<<"æÁÊÌ × ËÏÔÏÒÙÊ ÓËÁÞÉ×ÁÅÍ="<<QString(url.name()).toStdString()<<std::endl;
 QString outfail="/papkatest/"+url.name();
 std::cout<<"æÁÊÌ ÐÒÉÅÍÎÉË="+outfail.toStdString()<<std::endl;
 QFile g(outfail);
 if (g.open(QIODevice::WriteOnly))  // ÏÔËÒÙ×ÁÅÍ ÆÁÊÌ ÄÌÑÚÁÐÉÓÉÎÁ ÓÔÏÒÏÎÅ ËÌÉÅÎÔÁ
 {
    // std::cout<<"òÅÚÕÌØÔÁÔ="<<rez<<std::endl;
    // a.state();
     std::cout<<"óÏÓÔÏÑÎÉÅ="<<a.state()<<std::endl;
     int rez=a.get(fail,&g,QFtp::Binary);
     std::cout<<"òÅÚÕÌØÔÁÔ="<<rez<<std::endl;
 }
 //a.close();
 g.close();
 
}
 
void myftp::poluchif(int r)
{
   std::cout<<QString(r).toStdString()<<std::endl;
}
 
void myftp::kk(int a,bool ok)
{
 
}
 
void myftp::setip(QString ip)
{
   ipadreess=ip;
}
 
 
void myftp::loginparol(QString log,QString par)
{
   login=log;
   parol=par;
}
 
//ÕÓÔÁÎÁ×ÌÉ×ÁÅÍ ÐÁÐËÕ × ËÏÔÏÒÕÀ ÍÙ ÓËÏÐÉÒÕÅÍ ÆÁÊÌÙ
void myftp::ustanpapka(QString p)
{
   papka=p;
}
 
 
не пойму в чем дело...
подключаюсь к серверу и пытаюсь скопировать файл...
но файл приходит почему то пустой....


Название: Re: проблема с qftp методом get
Отправлено: koldun90 от Ноябрь 14, 2015, 08:41
никто не знает что может быть.....