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

Entrée/Sortie Java Discussion :

[Commons] FTP, Problème d'envoi : Fichier vide


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 25
    Points : 11
    Points
    11
    Par défaut [Commons] FTP, Problème d'envoi : Fichier vide
    Bonjour à tous,

    Je rencontre un problème lors de l'envoie d'un fichier sur un serveur FTP.
    Lors de l'envoie du fichier, mon fichier est bien créé, en revanche il pèse toujours 0 octets.

    Voici le code source de mon application :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    		FTPClient client = new FTPClient();
    		client.connect("xx.xxx.xx.xx", 21);
    		client.login("xxxxx","xxxxxx");
    		String distantFileName="aa.txt";
     
    		File file1 = new File( "monfichier.txt" );
     
    		InputStream fis = new FileInputStream(file1);
    		System.out.println(client.storeFile(distantFileName, fis));
    		client.logout();
    Le Sysou de "StoreFile" me retourne False.

    J'ai essayé en ajoutant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    client.setFileType(FTP.BINARY_FILE_TYPE);
    ASCII mode etc... toujours un fichier vide...

    J'ai essayé également de passer par une autre librairie (simpleftp), et le même soucis...

    Merci d'avance pour votre aide.
    Cordialement,
    Anthony

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    pourriez vous afficher les réponses du serveur FTP? Utilisez addProtocolCommandListener pour recevoir ces infiormations.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ftpClient.addProtocolCommandListener(new ProtocolCommandListener(){
      public void protocolCommandSent(ProtocolCommandEvent event){
        System.out.println("->"+event.getMessage());
      }
      public void protocolReplyReceived(ProtocolCommandEvent event) {
        System.out.println("<-"+event.getMessage());
      }
    });

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Tout d'abord, merci pour ta réponse.

    Je viens d’effectuer la commande que tu m'as proposé.

    Voici les informations retournées :

    ->TYPE I
    <-200 Type set to I
    ->PORT 192,168,1,16,226,232
    <-200 PORT command successful
    ->STOR aa.txt
    <-150 Opening BINARY mode data connection for aa.txt
    <-226 Transfer complete
    true
    ->QUIT
    <-221 Goodbye.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    et il est toujours vide? Parce que ici storefile retourne true alors que plus haut c'était false.

    Aussi, avec commons ftp client, toujours faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ftpclient.completePendingCommand()
    avant le disconnect

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Oui, le fichier est toujours vite... à ne rien comprendre :s

    En rajoutant la dernière commande " client.completePendingCommand();"

    l'application ne s'arrête plus... il n’exécute plus la suite du code et ne retourne aucunes erreur !

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    passer votre client en mode passif, visiblement le serveur ftp distant n'arrive pas à le contacter pour établir le transfert.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ->PASV
    <-227 Entering Passive Mode (94,23,10,202,163,115).
    ->STOR aa.txt
    <-150 Opening ASCII mode data connection for aa.txt
    <-226 Transfer complete
    true
    ->QUIT
    <-221 Goodbye.
    fichier toujours vide !

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Points : 0
    Points
    0
    Par défaut
    Bonjour, j'ai vu votre post et je voulais apporter mon expérience sur le sujet. J'ai eu aussi de grosses difficultés à utiliser le storeFile du FtpClient de Jakarta.
    Je ne sais pas pourquoi mais dans mon cas les fichiers uploadés sont tronqués, c'est pourquoi les fichiers de petite tailles (< 10 Ko) sont vides. Lorsque l'on upload des images par exemple, cela ne se voit pas au premier coup d'oeil, l'image peut être affichée mais la taille a changé de quelques Ko. Lorsqu'on upload un zip, celui ci ne peut pas etre décompressé...

    La seule solution que j'aie trouvé a été de migrer vers une autre librairie: edtFTPj qui a fonctionné très bien dans mon cas (les fichiers sont correctement uploadés).

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    comme je l'ai mentionné, ce tronquage vien du fait qu'on utilise pas completePendingCommand() avant le disconnect -> on coupe avant que l'upload qui se fait en parallèle, soit terminé.

Discussions similaires

  1. Problème d'envoi de fichiers par FTP
    Par SonnyFab dans le forum ASP.NET
    Réponses: 30
    Dernier message: 09/09/2010, 15h41
  2. [Apache commons FTP]Problème avec les fichier VSD
    Par Sniper37 dans le forum Général Java
    Réponses: 0
    Dernier message: 29/04/2010, 10h39
  3. Réponses: 0
    Dernier message: 15/03/2009, 23h07
  4. FTP Problème avec commons net récuperation de la liste fichier
    Par reverse_engineer dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 05/08/2008, 16h58
  5. [FTP] Problème pour uploader un fichier
    Par Crazyblinkgirl dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 07/01/2008, 23h21

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