2010-07-07 22 views
10

Wie kann ich Bilder mit FTP auf Android hochladen?Hochladen von Bildern mit FTP auf Android

+0

mögliche Duplikate von [Wie lade ich Bilder auf einen FTP-Server innerhalb einer Android-App hoch?] (Http://stackoverflow.com/questions/6464456/how-do-you-upload-images-to-an-ftp -server-in-einem-android-app) –

+0

Während das verknüpfte Duplikat neuer ist, hat es eine Antwort, wo diese Frage nicht war. –

+1

Fragen Sie, wie würden Sie einen FTP-Client in Android implementieren? Oder suchen Sie nur eine Verbindung zu einem FTP-Server. Es scheint einige FTP-Apps auf dem Markt zu geben, wenn ich überhaupt arbeite oder nicht, habe ich keine Ahnung. – Falmarri

Antwort

6

Verwenden SimpleFtp, einfach simpleftp.jar zu Ihrem Classpath hinzufügen und das Paket importiert in welcher auch immer Klassen, die es nutzen: Download here

import org.jibble.simpleftp.*; 

Stellen Sie sicher, dass Binär-Modus verwenden, wenn Bilder und ähnliches hochladen, oder sie können sie beschädigt.

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

Dies war die ganze Funktionalität, so dass Sie Dateien nicht herunterladen können!

+0

@Amit, wenn mein Anwsser geholfen hat, bitte akzeptieren Sie es. Wenn nicht, wie können wir Ihnen weiterhelfen? – RTB

+0

Upvoted, Es half zu wissen, gibt es einige lib ... Können Sie mir bitte wissen, welche anderen APIs sind mit diesem Jar/lib verfügbar \ – AAnkit

+0

@Ankit sorry dies ist die einzige Bibliothek, die ich fand ... – RTB

3

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

} 

Dies wird sicher funktionieren. Das habe ich schon oft gemacht.

+0

Dies ist möglicherweise etwas spät, aber die Verwendung dieser Methode zum Hochladen gibt immer den Fehlercode 550 (Zugriff verweigert) zurück. irgendwelche Vorschläge??? – shreyas

+0

@Shreyas hast du dein Problem gelöst? –

+0

Link unterbrochen :(:( –

Verwandte Themen