Naviguer dans un ftp

ermenault Messages postés 22 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 30 décembre 2008 - 15 avril 2008 à 12:03
ermenault Messages postés 22 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 30 décembre 2008 - 16 avril 2008 à 15:47
Bonjour,

J'ai une petite question, je suis sur un code jsp/java j2ee 1.4.
J'aimerais creer une fenêtre de navigation sur un ftp, pour pouvoir prendre le chemin du fichier que l'on souhaite télécharger du ftp.
Je m'explique: au lieu d'avoir à remplir une case "repertoire+nomfichier", j'aimerais que celle-ci se remplisse automatiquement par une fenêtre de navigation comme les fenêtre de navigation locales ("avec un bouton parcourir").
Pour le local c'est tout simple je fais un "<input type="file" ...", mais pour un ftp, j'ai pas trop d'idée.
Merci d'avance de votre aide.

7 réponses

ermenault Messages postés 22 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 30 décembre 2008
15 avril 2008 à 14:41
à la rigueur je suis entrain de me dire, que je pourrais faire une fonction java de recherche de fichier, ou j'ai un nom de fichier, j'ai une racine et je parcours l'ensemble des dossiers et sous-dossier pr trouver le fichier.
0
ermenault Messages postés 22 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 30 décembre 2008
15 avril 2008 à 14:41
vous pensez que c'est faisable? vous connaissez un code qui le fait?
0
luckybenji86 Messages postés 42 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 16 mai 2008 1
15 avril 2008 à 15:23
Je pense qu'en utilisant les librairie pour FTP et en conservant ton idée de concevoir une fonction de recherche, cela pourrai etre possible.

Regarde avec la librairie common-net de Jakarta ou alors edtftpj. Tu pourra acceder au ftp, lister les fichier et repertoire et trouver le lien de ton fichier.
0
ermenault Messages postés 22 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 30 décembre 2008
15 avril 2008 à 16:19
Ouai je suis parti là dessus, je mettrais mon code, une fois terminé.
Par contre, truc tout con, j'obtiens ma liste de repertoire en string sous la forme rep =rep1\rep2\repo.
J'aimerais que cette chaine soit en liste, donc je fais list= rep.split("\"); et ça ne fonctionne pas, le caractére \ ne passe pas, je pense.
Une idée?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ermenault Messages postés 22 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 30 décembre 2008
15 avril 2008 à 16:31
euh non j'ai rien dit, dsl
0
ermenault Messages postés 22 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 30 décembre 2008
16 avril 2008 à 15:46
source:

FTPConnection connection = new FTPConnection();
    if(path==null || path==""){
        try{

            connection.connect(host, port);
            connection.login(user, password);
            list =connection.listFiles();
            rep=connection.listSubdirectories();
            listrep = rep.split("\n");
            i = list.indexOf(ftpfile);
            path=null;
            if(i==-1){
                int k=0;
                int max=listrep.length;
                while( k<max && path==null){
                    path=listrep[k];
                    String rep1=null;
                    rep1 = observingRep(connection,listrep[k], ftpfile);
                    if(rep1!= null)
                        path=rep1;
                    else
                        path=null;
                    k++;
            
                }
            }else{
                path="";
            }
            if(path==null)
                path="";
        }catch (Exception e)
        {
        log.error("Erreur lors de la connection");
        }

fonction observingRep(FTPConnection,String,String):

 public String observingRep(FTPConnection connection, String repertoire, String ftpfile){
      try{
          String current=connection.getCurrentDirectory();
      connection.changeDirectory(repertoire);
    String list =connection.listFiles();
    String rep=null;
    String [] listrep = connection.listSubdirectories().split("\n");
    int i = list.indexOf(ftpfile);
    String essai=null;
    if(i==-1){
        essai=listrep[0];
        if(!essai.equals("")){
            for(int k=0; k<listrep.length&& rep==null; k++){
                rep= observingRep(connection,listrep[k],ftpfile);
            }}
        connection.parentDirectory();
        if(rep!=null)
            return repertoire+"/"+rep;
        else
            return rep;
    }else{
        if(rep!=null)
            rep+=repertoire;
        else
            rep=repertoire;
            return rep;
    }
      }catch (Exception e)
    {
        log.error("Erreur lors de la connection, recherche de fichier");
    }
      return null;
  }
0
ermenault Messages postés 22 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 30 décembre 2008
16 avril 2008 à 15:47
voili, pas super quand même, c'est cool mais lorsque l'on fait sur une grosse arborescence c'est pas rapide,
je pense que je vais tout de même chercher une autre solution du style parcourir, je suis toujours ouvert à une proposition
0
Rejoignez-nous