private void UploadAll() { if (Program.YamlData.FTPs != null) { foreach (FTP ftp in Program.YamlData.FTPs) { Console.WriteLine($"Uploading to {ftp.Server} ..."); NetworkCredential creds = new NetworkCredential(ftp.User, ftp.Password); using (FtpClient ftpClient = new FtpClient(ftp.Server, ftp.Port, creds)) { FtpProfile ftpProf = ftpClient.AutoConnect(); if (ftpProf == null) { throw new Error($"Can't connect to FTP server {ftp.Server}"); } foreach (FTPCopy copy in Program.YamlData.FTPCopy) { string from = Path.Combine(Program.YamlData.Deploy.BaseFolder, copy.From); Upload(ftpClient, from, copy.To, ReplaceBG: copy.ReplaceBG, Conditional: copy.Conditional); } } } } }
protected override void OnInit() { FtpProfile profile = new FtpProfile(); profile.Encoding = Encoding.UTF8; profile.Host = ResolveParameter <string>(HostConfig); string username = ResolveParameter <string>(UsernameConfig); string password = ResolveParameter <string>(PasswordConfig); if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(password)) { profile.Credentials = new NetworkCredential(username, password); } _ftpClient.Connect(profile); if (!_ftpClient.DirectoryExists(ArchiveDirectoryName)) { _ftpClient.CreateDirectory(ArchiveDirectoryName); } if (!_ftpClient.DirectoryExists(OutputDirectoryName)) { _ftpClient.CreateDirectory(OutputDirectoryName); } }
public async Task ShouldUploadFileToFtpServerPath() { var ftpClient = new FtpClient("127.0.0.1", "guest", "guest"); var profile = new FtpProfile(); profile.Host = "127.0.0.1"; profile.RetryAttempts = 3; string fileTobeUploaded = @"myDirectory/2.jpg"; var fileInfo = new FileInfo(fileTobeUploaded); using FileStream fileStream = fileInfo.OpenRead(); FtpStatus ftpStatus = await ftpClient.UploadAsync(fileStream, "/myremotpath/"); Assert.True(ftpStatus.IsSuccess()); }