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 :

FTPClient : corruption dun fichier uploadé


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut FTPClient : corruption dun fichier uploadé
    Bonjour à tous,

    Je cherche à uploader une archive .zip sur un serveur distant. L'archive locale est valide (testé par moi). Pour la liaison FTP j'utilise la classe FTPClient de org.apache.commons.net.ftp.FTPClient. L'upload se fait comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	    	    FileInputStream fis = new FileInputStream(new File(localFile));
    	    try {
    		if (!ftp.storeFile(remoteFile, fis)) {
    		    throw new Exception("FTP host refused to store file " + localFile + " at " + remoteFile);
    		}
     
    		return true;
    	    } catch (IOException ioe) {
    		logger.severe(ioe.getMessage());
    		return false;
    	    } finally {
    		fis.close();
    	    }
    Problème : le fichier qui se trouve sur le serveur est inexploitable. Si je fais un unzip dessus, j'ai comme réponse :
    1128 extra bytes at beginning or within zipfile. [...] zipfile corrupt
    Avez-vous une idée pour corriger ce problème ?

  2. #2
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 4
    Par défaut
    Je ferais bien un md5 sur le fichier transmis pour m'assurer qu'il est réellement différent du fichier original.

    En Général quand un fichier est modifié par ftp c'est qu'il s'agit d'un fichier binaire transmis avec l'option ASCII. Il faudrait donc contrôler ce point dans la configuration de ton objet ftp.

    la méthode setFileType(FTP.BINARY_FILE_TYPE) me semble appropriée.

  3. #3
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Haaaa oui, ça marche bien mieux comme ça en effet.

    Merci !

    Une question subsidiaire pour ma culture personnelle si quelqu'un a un peu de temps à perdre : pourquoi FTP modifie t'il un fichier ASCII ?

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Conventions de fin de ligne différentes. Genre CRLF d'un côté et juste LF de l'autre.

    À une époque, qui a beaucoup influencé FTP, ce genre de différences passaient pour une "différence de manière d'enregistrer des fichiers d'un système à un autre."
    Aujourd'hui ça passe plutôt pour deux formats textes différents, sans qu'il soit question de système.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 24/10/2005, 16h37
  2. Fichier upload endommagé ?
    Par zefrit dans le forum Linux
    Réponses: 26
    Dernier message: 14/10/2005, 15h16
  3. Supprimer fichier uploader avec aspSmartUpload
    Par julio_097 dans le forum ASP
    Réponses: 2
    Dernier message: 11/08/2005, 16h27
  4. renommer un fichier uploadé
    Par Sowa dans le forum ASP
    Réponses: 2
    Dernier message: 07/02/2005, 09h23
  5. Réponses: 10
    Dernier message: 18/11/2003, 18h01

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