static void Main(string[] args) { Console.WriteLine("---------- FTP UPLOADER ----------"); System.Threading.Thread.Sleep(500); Console.WriteLine("\nEnter filepath(s): "); FilesPath = Console.ReadLine(); if (!FilesPath.Equals("")) { bool fileExists = File.Exists(FilesPath); while (fileExists == false) { Console.WriteLine("\nThis file doesn't exist. Please enter a valid file path:"); FilesPath = Console.ReadLine(); fileExists = File.Exists(FilesPath); } } bool uriCheck = true; do { Console.WriteLine("\nEnter network path:"); Console.WriteLine("\n(for example: ftp://127.0.0.1)"); Console.WriteLine(); NetworkPath = Console.ReadLine(); try { addressNetwork = new Uri(NetworkPath); uriCheck = Uri.CheckSchemeName(addressNetwork.Scheme); if (!uriCheck) { Console.WriteLine("\nNetwork path not valid. Review the path. "); Console.WriteLine("\nThe default FTP port is 21. \n\nIf yours is not, enter the port number with a colon (:), after the network path."); Console.WriteLine("\n(for example: 'ftp://1.1.1.1:90'"); } } catch (Exception uriex) { Console.WriteLine("Error occurred."); Console.WriteLine("\nException: " + uriex.Message); if (uriex.InnerException != null) { Console.WriteLine("\nInnerException: " + uriex.InnerException); } Console.WriteLine("\nPress any key to exit ...."); Console.ReadKey(); Environment.Exit(666); } }while (!uriCheck); Console.WriteLine("\nEnter your username"); Username = Console.ReadLine(); Console.WriteLine("\nEnter your password"); ConsoleKeyInfo key; /* masking password */ do { key = Console.ReadKey(true); if (key.Key != ConsoleKey.Backspace && key.Key != ConsoleKey.Enter) { Password += key.KeyChar; Console.Write("*"); } else { if (Password.Length > 0 && key.Key == ConsoleKey.Backspace) { Password = Password.Substring(0, (Password.Length - 1)); //Password = Password.TrimEnd(Password[Password.Length-1]); Console.Write("\b \b"); } } }while (key.Key != ConsoleKey.Enter); Console.WriteLine(); NetworkCredential netcred = new NetworkCredential(Username, Password); bool result = false; try { result = FtpHelper.UploadFiles(FilesPath, addressNetwork, netcred); } catch (Exception ex) { Console.WriteLine("Error occurred."); Console.WriteLine("\nException: " + ex.Message); //Console.WriteLine("\nStack Trace: "+ex.StackTrace); if (ex.InnerException != null) { Console.WriteLine("\nInnerException: " + ex.InnerException); } Console.WriteLine("\nPress any key to exit ..."); Console.ReadKey(); Environment.Exit(666); } if (result) { Console.WriteLine("\n --------------- "); Console.WriteLine("\nFTP Upload successfully completed."); } else { Console.WriteLine("\nFTP Upload was not completed successfully"); } Console.WriteLine("\nPress any key to exit ..."); Console.ReadKey(); }
//private static Uri addressNetwork; static void Main(string[] args) { Console.WriteLine("---------- FTP UPLOADER ----------"); System.Threading.Thread.Sleep(500); Console.WriteLine("\nEnter filepath(s): "); Console.WriteLine("\nIf you want to upload multiple files, separate each file path with a comma(,)"); Console.WriteLine(); FilePath = Console.ReadLine(); if (FilePath.Contains(',')) { FilesPath = FilePath.Split(','); if (FilesPath.Length > 1 && !FilesPath.Contains("")) { for (int i = 0; i < FilesPath.Length; i++) { bool fileExists = File.Exists(@FilesPath[i]); while (!fileExists) { Console.WriteLine("\nThe file " + Path.GetFileName(FilesPath[i]) + " doesn't exist. Please enter a valid file path: "); FilesPath[i] = Console.ReadLine(); fileExists = File.Exists(FilesPath[i]); } } } } do { Console.WriteLine("\nEnter network path:"); Console.WriteLine("\n(for example: 127.0.0.1:40/path/)"); Console.WriteLine(); NetworkPath = Console.ReadLine(); }while (NetworkPath.Equals("")); Username = ""; Console.WriteLine("\nEnter a valid username: "******"\b \b"); } } }while (keyUser.Key != ConsoleKey.Enter || Username.Equals("")); Password = ""; Console.WriteLine(); Console.WriteLine("\nEnter a valid password:"******"*"); } else { if (Password.Length > 0 && key.Key == ConsoleKey.Backspace) { Password = Password.Substring(0, (Password.Length - 1)); Console.Write("\b \b"); } } }while (key.Key != ConsoleKey.Enter || Password.Equals("")); Console.WriteLine(); NetworkCredential netcred = new NetworkCredential(Username, Password); /* making sure the object is not null, is not empty, and the elements are not empty strings */ if (FilesPath != null && FilesPath.Length != 0 && !FilesPath.Any(p => p.Equals(""))) { bool[] results = new bool[FilesPath.Length]; results.Populate(false); try { results = FtpHelper.UploadFiles(FilesPath, NetworkPath, netcred); } catch (Exception ex) { Console.WriteLine("Error occurred."); Console.WriteLine("\nException: " + ex.Message); if (ex.InnerException != null) { Console.WriteLine("\nInnerException: " + ex.InnerException); } Console.WriteLine("\nPress any key to exit ..."); Console.ReadKey(); Environment.Exit(666); } if (!results.Any(p => !p)) { Console.WriteLine("\n --------------- "); Console.WriteLine("\nFTP Upload successfully completed."); } else { Console.WriteLine("\nFTP Upload was not completed successfully"); } } else { if (FilePath.Contains(',')) { FilePath = FilePath.Replace(",", ""); } bool result = false; try { result = FtpHelper.UploadFiles(FilePath, NetworkPath, netcred); } catch (Exception ex) { Console.WriteLine("Error occurred."); Console.WriteLine("\nException: " + ex.Message); if (ex.InnerException != null) { Console.WriteLine("\nInnerException: " + ex.InnerException); } Console.WriteLine("\nPress any key to exit ..."); Console.ReadKey(); Environment.Exit(666); } if (result) { Console.WriteLine("\n --------------- "); Console.WriteLine("\nFTP Upload successfully completed."); } else { Console.WriteLine("\nFTP Upload was not completed successfully"); } } Console.WriteLine("\nPress any key to exit ..."); Console.ReadKey(); }