public bool UploadNoArchive(FtpAccounts account, string Path, string Name) { bool res = false; myFTP_client ftp = new myFTP_client(); ftp.Host = account.host; ftp.Password = account.password; ftp.Port = account.port; ftp.UserName = account.username; if (String.IsNullOrEmpty(account.path) == true) // проверка пути куда заливать файл. { res = ftp.UploadFast(Path, Name); } else { res = ftp.UploadInFolder(Path, account.path, Name); } return(res); }
public bool UploadZipArchive(FtpAccounts account, string Path, string Name, string Password, out string ftpfilename) { bool res = false; string archivePass = ""; ftpfilename = ""; ZipFile zip; FileInfo info = new FileInfo(Path); string PathInArchive = Extract.BetweenStart(Path, info.Name) + Extract.BetweenStart(Name, ".") + ".zip"; ftpfilename = Extract.BetweenStart(Name, ".") + ".zip"; FileInfo ArchiveInfo = new FileInfo(PathInArchive); using (zip = new ZipFile(PathInArchive, Encoding.UTF8)) { archivePass = Password; zip.CompressionLevel = Ionic.Zlib.CompressionLevel.Default; //Устанавливаем уровень сжатия zip.TempFileFolder = System.IO.Path.GetTempPath(); //Задаем системную директорию TEMP для временных файлов zip.Password = archivePass; // Устанавливаем пароль. zip.AddFile(Path, "\\"); //Добавляем файл. и "\\" что файл будет находится в корневой папке архива. zip.Save(); //Сохраняем архив zip = null; } myFTP_client ftp = new myFTP_client(); ftp.Host = account.host; ftp.Password = account.password; ftp.Port = account.port; ftp.UserName = account.username; if (String.IsNullOrEmpty(account.path) == true) { res = ftp.UploadFast(PathInArchive, ArchiveInfo.Name); } else { res = ftp.UploadInFolder(PathInArchive, account.path, ArchiveInfo.Name); } File.Delete(PathInArchive); return(res); }
public bool UploadRarArchive(string winrarpath, FtpAccounts account, string Path, string Name, string Password, out string ftpfilename) { bool res = false; string archivepass = ""; string WinRarExePath = winrarpath; // В Данной строке указываем путь к установленной в Windows архиватору WinRar, к ее екзешнику Rar.exe.!!!!!!!!!!!!!!!!!! WinRar wRar = new WinRar(WinRarExePath); // Для работы со стандартным WinRar создали файл WinRar.cs и в нем реализовали работу с архиватором . FileInfo info = new FileInfo(Path); ftpfilename = ""; string PathInArchive = Extract.BetweenStart(Path, info.Name) + Extract.BetweenStart(Name, ".") + ".rar"; ftpfilename = Extract.BetweenStart(Name, ".") + ".rar"; FileInfo ArchiveInfo = new FileInfo(PathInArchive); archivepass = Password; if (wRar.CreatePasswordRaRFromFile(Path, archivepass, PathInArchive) == false) // Создает запароленный архив и в результате выдает bool значение. { return(false); } myFTP_client ftp = new myFTP_client(); // создаем новый эеземпляр класса ftp_client. ftp.Host = account.host; ftp.Password = account.password; ftp.Port = account.port; //Заполняем его. ftp.UserName = account.username; if (String.IsNullOrEmpty(account.path) == true) { res = ftp.UploadFast(PathInArchive, ArchiveInfo.Name); // если настройках аккаунта в settings.ini в параметр path оставить пустым, то файл закидываем в корень сервака. } else { res = ftp.UploadInFolder(PathInArchive, account.path, ArchiveInfo.Name); //иначе закидываем по указанному в настройках пути сервера. } File.Delete(PathInArchive); // Удаляем ненужный более архив на нашем компьютере. return(res); }