2010-07-07 4 views
10

Comment télécharger des images via FTP sur Android?Téléchargement d'images avec FTP sur Android

+0

duplication possible de [Comment charger des images sur un serveur FTP dans une application Android?] (Http://stackoverflow.com/questions/6464456/how-do-you-upload-images-to-an-ftp -server-within-an-android-app) –

+0

Alors que le doublon lié est plus récent, il a une réponse où cette question n'a pas. –

+1

Demandez-vous comment implémenteriez-vous un client FTP dans Android? Ou cherchez-vous simplement à vous connecter à un serveur FTP? Il semble y avoir plusieurs applications FTP sur le marché, mais si un travail ou non je n'ai aucune idée. – Falmarri

Répondre

6

Utilisez SimpleFtp, ajoutez simplement simpleftp.jar à votre classpath et importer le package dans les classes selon l'utiliseront: Download here

import org.jibble.simpleftp.*; 

Assurez-vous que vous utilisez le mode binaire lors du téléchargement des images et suchlike, ou ils peuvent devenir corrompu.

try 
{ 
    SimpleFTP ftp = new SimpleFTP(); 

    // Connect to an FTP server on port 21. 
    ftp.connect("ftp.somewhere.net", 21, "username", "password"); 

    // Set binary mode. 
    ftp.bin(); 

    // Change to a new working directory on the FTP server. 
    ftp.cwd("web"); 

    // Upload some files. 
    ftp.stor(new File("webcam.jpg")); 
    ftp.stor(new File("comicbot-latest.png")); 

    // You can also upload from an InputStream, e.g. 
    ftp.stor(new FileInputStream(new File("test.png")), "test.png"); 
    ftp.stor(someSocket.getInputStream(), "blah.dat"); 

    // Quit from the FTP server. 
    ftp.disconnect(); 
} 
catch (IOException e) 
{ 
    e.printStackTrace(); 
} 

Ce fut toutes les fonctionnalités, donc il ne vous permet pas de télécharger des fichiers!

+0

@Amit si mon anwser aidé, s'il vous plaît l'accepter. Sinon, comment pouvons-nous vous aider? – RTB

+0

Upvoted, Il a aidé à savoir qu'il ya quelques lib ... Pouvez-vous s'il vous plaît laissez-moi savoir quelles autres API sont disponibles avec ce Jar/lib \ – AAnkit

+0

@Ankit désolé c'est la seule bibliothèque que j'ai trouvé ... – RTB

3

Téléchargez le FTP Jar Library from Here

public void sendFileViaFTP() { 

    FTPClient ftpClient = null; 

    try { 
     ftpClient = new FTPClient(); 
     ftpClient.connect(InetAddress.getByName("ftp.myserver.com")); 

     if (ftpClient.login("myftpusername", "myftppass")) { 

      ftpClient.enterLocalPassiveMode(); // important! 
      ftpClient.setFileType(FTP.BINARY_FILE_TYPE); 
      String Location = Environment.getExternalStorageDirectory() 
        .toString(); 
      String data = Location + File.separator + "FileToSend.txt"; 
      FileInputStream in = new FileInputStream(new File(data)); 
      boolean result = ftpClient.storeFile("FileToSend.txt", in); 
      in.close(); 
      if (result) 
       Log.v("upload result", "succeeded"); 
      ftpClient.logout(); 
      ftpClient.disconnect(); 

     } 
    } catch (Exception e) { 
     Log.v("count", "error"); 
     e.printStackTrace(); 
    } 

} 

Cela fonctionnera à coup sûr. Je l'ai fait plusieurs fois.

+0

Cela peut être un peu en retard, mais l'utilisation de cette méthode pour télécharger renvoie toujours le code d'erreur 550 (accès refusé). Aucune suggestion??? – shreyas

+0

@shreyas avez-vous résolu votre problème? –

+0

lien cassé :(:( –