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

Réseau Discussion :

Envoi d'un fichier par FTP


Sujet :

Réseau

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club Avatar de EL-jos
    Homme Profil pro
    intelligence artificiel
    Inscrit en
    Mars 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : intelligence artificiel
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2017
    Messages : 6
    Par défaut Envoi d'un fichier par FTP
    Salut tout le monde,
    je me tape actuellement les doigts pour créer un logiciel réseau via Qt, le logiciel doit permettre l'envoie et la réception des fichiers.
    alors suis bloqué là car la classe FTP qui permettait de le faire n'existe plus dans la nouvelle version de Qt( 5.9 et 5.10), la bibliothèque propose une nouvelle classe du nom de QNetworkAccessManager que j'arrive pas à comprendre le fonctionnement et les exigences.
    Dans le détail de la classe QNetworkAccessManager on parle que de HTTP et non de FTP, je sais que HTTP peut permettre l'envoie et la réception des fichiers mais comment le faire ?

    j'ai vraiment besoin de votre aide.
    Merci pour la compréhension .

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2010
    Messages : 248
    Par défaut
    Bonjour,
    Voici un exemple simplifié pour uploader un fichier. Pour le download, je pense qu'il suffit simplement d'utiliser QNetworkAccessManager::get() plutôt que QNetworkAccessManager::put(), à vérifier.

    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
     
    //.h
     
    //...
        QNetworkAccessManager nam;
        QNetworkReply *currentReply;
    //...
     
    //.cpp
     
    //...
        connect(&nam, SIGNAL(finished(QNetworkReply*)), this, SLOT(onUploadFinished(QNetworkReply*)));  
    //...
    file = new QFile(fileName, this);
        if(file->open(QIODevice::ReadOnly)){
            QUrl url;
            url.setUrl(QString("ftp://") + host + "/" + ftppath);
            url.setUserName(username);
            url.setPassword(password);
            url.setPort(port);       
     
     
            currentReply = nam.put(QNetworkRequest(url), file);
            //Progress monitoring
            //connect(currentReply, SIGNAL(uploadProgress(qint64,qint64)), this, SIGNAL(progressChanged(qint64,qint64)));            
            //Errors monitoring
            //connect(currentReply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onError(QNetworkReply::NetworkError)));
        }
    //...
     
    void FtpClient::onUploadFinished(QNetworkReply *reply)
    {
        bool status = reply->error() == 0;
        if(!status){
            m_error = reply->errorString();
            qDebug() << "FtpClient::onUploadFinished - error: " << reply->errorString();
        }
        reply->deleteLater();
        currentReply = 0;
        file->close();
        delete file;
        file = 0;
     
    }

  3. #3
    Nouveau membre du Club Avatar de EL-jos
    Homme Profil pro
    intelligence artificiel
    Inscrit en
    Mars 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : intelligence artificiel
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2017
    Messages : 6
    Par défaut
    Merci beaucoup pour ta réponse mais juste une question qui est du côté serveur;
    question: est ce que je dois implémenter mon serveur(méthode envoyer à tous et réception des données) de la même manière que le client ?

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2010
    Messages : 248
    Par défaut
    Un serveur ?

    Je conseillerais plutôt d'utiliser une application serveur existante.
    Si votre but est de transférer des données entre plusieurs applications à travers le réseau, je ne pense pas que l'utilisation du FTP soit la bonne méthode à utiliser, néanmoins mes connaissances en réseau sont très limitées.

  5. #5
    Nouveau membre du Club Avatar de EL-jos
    Homme Profil pro
    intelligence artificiel
    Inscrit en
    Mars 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : intelligence artificiel
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2017
    Messages : 6
    Par défaut
    Ouais en fait j'avais déjà réaliser l'implémentation du client/serveur mais juste pour l'émission et réception des textes(caractères) mais je veux améliorer mon programme du genre où il soit capable de faire l'émission et réception des fichiers en utilisant Qt.
    est ce que possible ?

Discussions similaires

  1. Envoi de plusieurs fichiers par FTP
    Par gotgot1995 dans le forum Réseau
    Réponses: 0
    Dernier message: 03/05/2015, 22h39
  2. Envoi de plusieurs fichiers par FTP
    Par exile69 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 23/08/2013, 11h03
  3. Envoi de fichier par FTP mais nommé différent
    Par whorian dans le forum VB.NET
    Réponses: 2
    Dernier message: 08/03/2009, 17h04
  4. [OCILIB] Envoi d'un fichier par FTP
    Par webfranc dans le forum Interfaces de programmation
    Réponses: 24
    Dernier message: 14/12/2008, 10h21
  5. Probleme d'envoi de fichiers par FTP
    Par TheReturnOfMuton dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 10/06/2008, 11h03

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