2010-07-07 14 views
10

Come posso caricare immagini tramite FTP su Android?Caricamento immagini con FTP su Android

+0

possibile duplicato di [Come si caricano le immagini su un server FTP all'interno di un'app Android?] (Http://stackoverflow.com/questions/6464456/how-do-you-upload-images-to-an-ftp -server-within-an-android-app) –

+0

Mentre il duplicato collegato è più recente, ha una risposta dove questa domanda no. –

+1

Stai chiedendo come implementeresti un client FTP in Android? O stai solo cercando di connettersi a un server FTP. Sembrano esserci diverse app FTP sul mercato, anche se in caso di lavoro o meno non ne ho idea. – Falmarri

risposta

6

Usa SimpleFtp, è sufficiente aggiungere simpleftp.jar al classpath e importare il pacchetto in qualsiasi classi lo userà: Download here

import org.jibble.simpleftp.*; 

Assicurarsi di utilizzare la modalità binaria durante il caricamento di immagini e simili, o possono diventare corrotti.

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(); 
} 

Questa era tutta la funzionalità, quindi non consente di scaricare file!

+0

@Invia se il mio assistente ha aiutato, per favore accettalo. Se no, come possiamo aiutarti? – RTB

+0

Suvato, Ha aiutato a sapere che c'è qualche lib ... Puoi per favore fammi sapere quali altre API sono disponibili con questo Jar/lib \ – AAnkit

+0

@Ankit scusa questa è l'unica libreria che ho trovato ... – RTB

3

Scaricare il 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(); 
    } 

} 

questo funzionerà di sicuro. L'ho fatto molte volte.

+0

Questo potrebbe essere un po 'in ritardo ma utilizzando questo metodo per caricare sempre restituisce il codice di errore 550 (accesso negato). eventuali suggerimenti??? – shreyas

+0

@shreyas hai risolto il problema? –

+0

link interrotto :(:( –