IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

QFtp ne fait étrangement rien

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 91
    Par défaut QFtp ne fait étrangement rien
    Salut à tous.

    Je sens super bête car je suis sur qu'il y a quelque chose d’énorme que je rate mais j'ai écrit un bout de code tout simple pour aller chercher un fichier sur un ftp et.... ben il ne passe rie du tout. Je ne passe pas dans mon ftpCommandFinished ni dans mon ReadyRead..... je dois manquer un truc énorme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    void BiblioBD::RetrieveWebData()
    {
         mftp = new QFtp(this);
     
         connect(mftp, SIGNAL(commandFinished(int,bool)),
                      this, SLOT(ftpCommandFinished(int,bool)));
     
         connect(mftp, SIGNAL(readyRead()), this, SLOT(readyRead()));
     
        //je récupère l'adresse comprse dans le champs 'adresse du serveur FTP'
        QString host = "ftpperso.free.fr";
        //je me connecte au serveur FTP...
            mftp->connectToHost(host,21);
        //...qui demande les login/password contenus dans les champs prévus à cet effet
            mftp->login("bibliobd","xxxxx");
            mfichierWeb = new QFile("bibliobdWeb.csv");
            mfichierWeb->open(QIODevice::WriteOnly);
            mftp->get("bibliobdWeb.csv",mfichierWeb);
    }
     
    void BiblioBD::readyRead(){
        mfichierWeb->write(mftp->readAll());
    }
     
    void BiblioBD::ftpCommandFinished(int, bool error)
    {
    #ifndef QT_NO_CURSOR
        setCursor(Qt::ArrowCursor);
    #endif
     
        if (mftp->currentCommand() == QFtp::ConnectToHost) {
            if (error) {
                QMessageBox::information(this, tr("BiblioBD"),
                                         tr("Unable to connect to the FTP server "
                                            "Please check that the host "
                                            "name is correct.")
                                         );
                return;
            }
     
            return;
        }if (mftp->currentCommand() == QFtp::Get) {
            if (error) {
                QMessageBox::information(this, tr("BiblioBD"),
                                         tr("Problème de transfert"));
                mfichierWeb->close();
                mfichierWeb->remove();
            } else {
                mfichierWeb->close();
            }
            delete mfichierWeb;
        }
    }

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 324
    Par défaut
    J'ai voulu essayer.

    Chez moi c'est pire. erreur d'include sur QNetwork

    j'ai regardé le principe. De ce que j'en ai compris, quand tu utilises par exemple ftp->login(), puis ftp->cd(), ça stocke les commandes en liste d'attente et envoie des signaux. En cas d'erreur, la file d'attente est abandonnée.

    Il te faut voir si il y a une erreur.

    Regardes du coté de QFtp::error ().

    Je vais essayer de tester de mon coté mais ça commence mal.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 324
    Par défaut
    J'ai réglé mon problème.

    Il me manquait QT+=network dans mon .pro

    Par contre même résultat, mais je n'ai pas géré les signaux.

    Je me demandes si QFtp n'a pas été abandonné avec Qt5.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 91
    Par défaut
    Alors moi la je compil encore en QT 4.8.4 (j'ai des problème de compatibilité avec qt 5.2)

    Mais ca serait étonnant qu'ils arrête le FTP.

    Pour le Qftp Eror, il faudrait que je passe dans mon slot de commandFinished pour pouvoir le choper....

    D'autre idée ?

  5. #5
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 736
    Par défaut
    Citation Envoyé par poseidon2 Voir le message
    Alors moi la je compil encore en QT 4.8.4 (j'ai des problème de compatibilité avec qt 5.2)

    Mais ca serait étonnant qu'ils arrête le FTP.
    En ce qui concerne Qt5, l'API réseau a changé (liste des changements), QFtp n'est plus public et on doit passer par une nouvelle classe QNetworkAccessManager.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 91
    Par défaut ca marche en local
    Hello hello.

    Je relance avec de nouvelle info : le même code marche en local. En effet j'ai installé un serveur FTP en local et ca marche.
    Par contre ce qui est bizarre c'est que lorsque je met ftpperso.free.fr... je n'ai même pas d'erreur....

Discussions similaires

  1. Job qui ne fait plus rien
    Par Syphys dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 30/08/2010, 16h42
  2. L'ouverture d'un fichier Excel se fait mais rien dans la barre de tâche
    Par dalmasma dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/05/2009, 14h46
  3. Flash CS3 et As3, on ne fait plus rien en mode graphique?
    Par devtroll dans le forum ActionScript 3
    Réponses: 6
    Dernier message: 01/08/2007, 10h30
  4. [Process] pb exec sous unix, ne plante pas mais ne fait rien
    Par NiBicUs dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 10/12/2004, 05h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo