-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgramSingleFile.cs
More file actions
134 lines (115 loc) · 4.72 KB
/
ProgramSingleFile.cs
File metadata and controls
134 lines (115 loc) · 4.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
namespace FtpUploader
{
class Program
{
private static string Username { get; set; }
private static string Password { get; set; }
private static string[] FilesPath;
private static string NetworkPath { get; set; }
private static Uri addressNetwork;
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();
}
}
}