// get a remoteFile and put it localDirectory public bool getFile(string remoteFilePath, string localDirectory) { try { connectIfNotConnected(); WinSCP.TransferOptions transferOptions = new WinSCP.TransferOptions(); transferOptions.TransferMode = WinSCP.TransferMode.Binary; WinSCP.TransferOperationResult transferResult; transferResult = session.GetFiles(remoteFilePath, localDirectory, false, transferOptions); // Throw on any error transferResult.Check(); } catch (Exception) { return(false); } return(true); }
private bool UploadToFtp(string filename) { try { var sessionOptions = new WinSCP.SessionOptions { FtpSecure = WinSCP.FtpSecure.None, Protocol = WinSCP.Protocol.Ftp, HostName = ConfigurationManager.AppSettings["FTPHost"], PortNumber = int.Parse(ConfigurationManager.AppSettings["FTPPort"]), UserName = ConfigurationManager.AppSettings["FTPUsername"], Password = ConfigurationManager.AppSettings["FTPPassword"], }; string ftpRoot = ConfigurationManager.AppSettings["FTPRoot"]; using (var session = new WinSCP.Session()) { session.Open(sessionOptions); Log("Connected successfully to FTP server"); var transferOptions = new WinSCP.TransferOptions() { TransferMode = WinSCP.TransferMode.Binary }; //Ceheck and create folder String mftpFilePath = string.Format("/{0}/{1}年/{2}月/{3}/{4}.pdf", ftpRoot, DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.ToString("yyyyMMddHHmmss")); //session.CreateDirectory(Constants.FTPRoot); FileInfo fi = new FileInfo(filename); var hResult = session.PutFiles(fi.FullName, mftpFilePath, false, transferOptions); hResult.Check(); } return(true); } catch { return(false); } }