// 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);
        }
Exemple #2
0
        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);
            }
        }