2017-01-08 5 views
1

Ich möchte das Verzeichnis auf meinen FTP-Server hochladen.Verzeichnis auf FTP (Android) hochladen

Dies ist der Code, den ich verwenden, um eine "einzelne Datei" auf meinen FTP-Server hochzuladen, möchte ich wissen, ob es etwas gibt, das mir helfen kann, alle Bilder ".jpg" in diesem Ordner "mnt/sdcard hochzuladen/DCIM/Kamera "zu meinem FTP.

public static final String TAG = "Contacts"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Thread t = new Thread(new Runnable(){ 
     @Override 
     public void run(){ 
      jetzt(); 
     } 
    }); 
    t.start(); 
    Log.i(TAG, "thread started"); 

} 

public void jetzt(){ 
    FTPClient ftpClient = new FTPClient(); 
    try { 
     ftpClient.connect("HOST SERVER IP"); 

     ftpClient.setSoTimeout(10000); 
     ftpClient.enterLocalPassiveMode(); 
     if(ftpClient.login(" LOGIN ", " PASSWORD ")) 
     { 
      ftpClient.setFileType(FTP.BINARY_FILE_TYPE); 
      ftpClient.setFileTransferMode(FTP.BINARY_FILE_TYPE); 
      File sFile=new File("mnt/sdcard/DCIM/Camera/mypicture.jpg"); 
      FileInputStream fs= new FileInputStream(sFile); 
      String fileName = sFile.getName(); 
      Boolean result = ftpClient.storeFile(fileName, fs); 
      fs.close(); 
      Log.i(TAG, "sent"); 
      String has = ""; 
     } 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

}

Antwort

2

können Sie diese geänderte Funktion:

public void jetzt() { 
    FTPClient ftpClient = new FTPClient(); 
    try { 
     ftpClient.connect("HOST SERVER IP"); 

     ftpClient.setSoTimeout(10000); 
     ftpClient.enterLocalPassiveMode(); 
     if (ftpClient.login(" LOGIN ", " PASSWORD ")) { 
      ftpClient.setFileType(FTP.BINARY_FILE_TYPE); 
      ftpClient.setFileTransferMode(FTP.BINARY_FILE_TYPE); 

      final File folder = new File("mnt/sdcard/DCIM/Camera"); 

      for (final File fileEntry : folder.listFiles()) { 
       try { 
        FileInputStream fs = new FileInputStream(fileEntry); 
        if (!fileEntry.isDirectory()) { 
         String fileName = fileEntry.getName(); 
         ftpClient.storeFile(fileName, fs); 
         fs.close(); 
         Log.i(TAG, "sent"); 
        } 
       } catch (Exception e) { 
        Log.i(TAG, "error uploading"); 
       } 
      } 
     } 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 
+1

Brilliant !!! Ich bitte Gott, auf dich und deine Kinder aufzupassen. –

0

Es gibt keine Funktion ganzes Verzeichnis im FTPClient class hochladen.

Sie müssen:

+0

Vielen Dank für Ihre Antwort martin. kannst du meinen Code ändern, weil ich ein sehr niedriges Niveau in Java habe. –

+0

check die andere Antwort – ashubuntu

+0

danke für deine Hilfe martin, Gott segne dich. –

Verwandte Themen