Esempio n. 1
0
        private static void MainOperate(string fileName)
        {
            IDataService xmlService = new XmlDataService();
            XMLOptions   xml        = new XMLOptions();

            // 取得檔案
            var fullfielpath = Path.Combine(watcher.XmlFilePath, fileName);
            var files        = xmlService.GetRecords(fullfielpath);

            Console.WriteLine($"開始傳輸檔案,清單:{fileName}");

            client.Operate(files);

            //傳輸完成後產生紀錄檔
            xml.CreateXmlFile(files, $"{cfg.FinishXMLFilePath}{DateTime.Now.ToString("yyyyMMddHHmm")}.xml");
        }
Esempio n. 2
0
        public void DownloadFileTest()
        {
            var cfg = new Config();

            cfg.ProtocolType = FtpType.FTP;
            cfg.HostName     = "192.168.0.226";
            cfg.UserName     = "******";
            cfg.Password     = "******";
            cfg.TlsHostCertificateFingerprint = "4d:d5:9e:b1:64:13:ce:fd:49:a9:d0:d1:ba:ae:9f:07:04:8d:e1:e4";
            cfg.FtpSecureType = FtpSecure.Explicit;
            cfg.SpeedLimit    = 0;
            cfg.LocalPath     = @"D:\TestFTP\download\";
            cfg.RemotePath    = "/download/";

            var records = new List <TransferRecord>()
            {
                new TransferRecord()
                {
                    FileName = "core.pdf", SHA256 = "", OperationType = Operation.Download
                },
                new TransferRecord()
                {
                    FileName = "系統教育訓練教材_1_偵結數位卷建檔.docx", SHA256 = "A790C40E4AC7BBD6A786519187733DC5074C3E1600202342702417671AEBDE56", OperationType = Operation.Download
                }
            };

            var           client = new WinSCPClient(cfg);
            StringBuilder error  = new StringBuilder();

            client.Operate(records);
            foreach (var r in records)
            {
                if (!r.Done)
                {
                    error.AppendLine(r.ErrorMessage);
                }
            }
            Assert.AreEqual(string.Empty, error.ToString());
        }
Esempio n. 3
0
        public void OperateTest()
        {
            var client = new WinSCPClient(cfg);

            // 取得檔案
            string xmlString = _xmlString;
            var    files     = new List <TransferRecord>();

            if (!string.IsNullOrWhiteSpace(xmlString))
            {
                var xmlFiles = xmlString.DeserializeXml <XMLOptions.Files>();

                files = xmlFiles.ListFileTag.Select(p => new TransferRecord()
                {
                    FileName      = p.Name,
                    SHA256        = p.SHA256,
                    OperationType = (Operation)Enum.Parse(typeof(Operation), p.OperationType)
                }).ToList();
            }

            client.Operate(files);
            Assert.AreEqual(files.FirstOrDefault().SHA256, files.FirstOrDefault().FileSHA256);
        }