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

API standards et tierces Java Discussion :

[Débutant] télécharger un fichier à partir d'un ftp


Sujet :

API standards et tierces Java

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

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Points : 21
    Points
    21
    Par défaut [Débutant] télécharger un fichier à partir d'un ftp
    Bonjour,

    il me faut me connecter à un serveur ftp distant à partir de ma servlet, j'ai pas mal cherché sur le net sans trouvé le moindre tuto sur le sujet. Il y a bien des codes mais assez complexe.
    J'ai aussi essayé des petits codes avec sun.net.ftp mais apparemment Glassfish n'aime pas. Faut dire que je comprend pas grand chose, j'avance par tâtonnement :p

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        FtpClient ftpClient = new FtpClient();
        ftpClient.openServer("ftp://192.168.0.87"); // connect to FTP server
        ftpClient.login("toto", "mdp_toto"); // login
        ftpClient.binary(); // set to binary mode transfer
        ftpClient.cd("/Images"); // change directory 
        File file=new File("truc");
        ftpClient.closeServer();
    Avec ça GlassFish me renvoie ceci :

    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
    GRAVE: StandardWrapperValve[NewServlet]: PWC1406: Servlet.service() for servlet NewServlet threw exception
    java.net.UnknownHostException: ftp://192.168.0.87/
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
            at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
            at java.net.Socket.connect(Socket.java:519)
            at java.net.Socket.connect(Socket.java:469)
            at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
            at sun.net.NetworkClient.openServer(NetworkClient.java:118)
            at sun.net.ftp.FtpClient.openServer(FtpClient.java:488)
            at sun.net.ftp.FtpClient.openServer(FtpClient.java:475)
            at NewServlet.service(NewServlet.java:95)
            at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:431)
            at org.apache.catalina.core.StandardWrapperValve.preInvoke(StandardWrapperValve.java:462)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:139)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:186)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
            at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
            at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:187)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:142)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
            at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:242)
            at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
            at com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633)
            at com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570)
            at com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:827)
            at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152)
            at com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71)
            at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
            at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
            at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
            at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)
            at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)
            at com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)
            at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)
    Si vous avez un lien, un exemple, un début de code ou je ne sais quoi, ça serait le pied.

    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Points : 386
    Points
    386
    Par défaut
    Après un peu de recherche tu aurais trouvé au moins ça
    [URL="http://www.koders.com/java/fid7AF7F82DC22564A6F17620BD5E048B985B74FDFA.aspx"[/URL]

  3. #3
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Salut,
    Il ne faut pas spécifier le protocole dans l'url du serveur, mets juste l'IP.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Points : 21
    Points
    21
    Par défaut
    Tout d'abord merci pour vos réponses

    Ça fonctionne en mettant juste l'IP, cependant je viens encore de voir un sujet qui dit qu'il ne faut pas utiliser sun.net.ftp, je commence a avoir un peu peur, du coup je sais pas trop quoi faire.
    Autrement Mengué georges ce code a l'air très bien mais je ne sais pas où je peux trouver ce fameux package ftp (edit: j'ai rien dit)

  5. #5
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Salut,
    Personnellement, j'utilise Jakarta Commons Net pour interagir avec un serveur FTP.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Points : 21
    Points
    21
    Par défaut
    Super ça ! Exactement ce qu'il me fallait.
    Merci bien

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

Discussions similaires

  1. télécharger un fichier de plusieur serveur FTP
    Par mina3prog dans le forum Linux
    Réponses: 7
    Dernier message: 13/07/2010, 08h41
  2. télécharger un fichier à partir d'un id
    Par Mohican69 dans le forum Langage
    Réponses: 20
    Dernier message: 25/04/2010, 12h29
  3. [1.x] Télécharger un fichier à partir du répertoire /upload
    Par Maxbj dans le forum Symfony
    Réponses: 3
    Dernier message: 11/09/2007, 00h15
  4. [FTP] Télécharger un fichier depuis un serveur FTP
    Par bremer dans le forum Langage
    Réponses: 6
    Dernier message: 03/06/2007, 11h27

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