After many studies in the same issue, I found it very convenient: https://github.com/flagbug/FlagFtp
For example (try to do this with the standard .net "library" - this will be a real pain) → Recursively restore all files on an FTP server:
public IEnumerable<FtpFileInfo> GetFiles(string server, string user, string password) { var credentials = new NetworkCredential(user, password); var baseUri = new Uri("ftp://" + server + "/"); var files = new List<FtpFileInfo>(); AddFilesFromSubdirectory(files, baseUri, credentials); return files; } private void AddFilesFromSubdirectory(List<FtpFileInfo> files, Uri uri, NetworkCredential credentials) { var client = new FtpClient(credentials); var lookedUpFiles = client.GetFiles(uri); files.AddRange(lookedUpFiles); foreach (var subDirectory in client.GetDirectories(uri)) { AddFilesFromSubdirectory(files, subDirectory.Uri, credentials); } }
Stephan Nov 27 '13 at 18:07 2013-11-27 18:07
source share