Ftp将文件夹从SD卡上传到ftp Android

时间:2012-07-06 11:16:41

标签: android apache upload ftp

大家好,所有任何java极客都可以帮帮我吗?我需要将带有子文件夹的文件夹上传到我的ftp。 我找到了一些示例代码,但仅用于singel文件。 我不知道如何更改它以上传文件夹。我使用谷歌但没有找到anwser。

        String server = "192.168.1.2";
    String username = "test";
    String password = "test";
    String local = "mnt/sdcard/shopinglist/"; #This path i need to upload

    FTPClient ftp = new FTPClient();
  try
  {
      System.out.println( "Connecting" );
      ftp.connect(server);
      if(!ftp.login(username, password))
      {
          System.out.println( "Login failed" );
          ftp.logout();
          return;
      }
      int reply = ftp.getReplyCode();
      System.out.println( "Connect returned: " + reply );
      if (!FTPReply.isPositiveCompletion(reply)) {
          ftp.disconnect();
          System.out.println( "Connection failed" );
          return;
      }
      ftp.enterLocalPassiveMode(); 
      FileInputStream in = new FileInputStream(local);
      ftp.setFileType(ftp.BINARY_FILE_TYPE);
      System.out.println( "Uploading File" );
      boolean store = ftp.storeFile("mnt/sdcard/shopinglist/",in); # ??? Any help ???
      in.close();
      ftp.logout();
      ftp.disconnect();
  }
  catch(Exception ex)
  {
      ex.printStackTrace();
  }
}

}

感谢所有人。

1 个答案:

答案 0 :(得分:0)

如果有帮助,请检查下面的代码

 Intent intent = new Intent();
    intent.setAction(Intent.ACTION_PICK);
    // FTP URL (Starts with ftp://, sftp:// or ftps:// followed by hostname and port).
    Uri ftpUri = Uri.parse("ftp://yourftpserver.com");
    intent.setDataAndType(ftpUri, "vnd.android.cursor.dir/lysesoft.andftp.uri");
    // FTP credentials (optional)
    intent.putExtra("ftp_username", "anonymous");
    intent.putExtra("ftp_password", "something@somewhere.com");
    //intent.putExtra("ftp_keyfile", "/sdcard/dsakey.txt");
    //intent.putExtra("ftp_keypass", "optionalkeypassword");
    // FTP settings (optional)
    intent.putExtra("ftp_pasv", "true");
    //intent.putExtra("ftp_resume", "true");
    //intent.putExtra("ftp_encoding", "UTF8");
    // Upload
    intent.putExtra("command_type", "upload");
    // Activity title
    intent.putExtra("progress_title", "Uploading folder ...");
    intent.putExtra("local_file1", "/sdcard/localfolder");
    // Optional initial remote folder (it must exist before upload)
    intent.putExtra("remote_folder", "remotefolder/uploadedfolder");
    startActivityForResult(intent, 2);

让我知道它是否有帮助