//turn this into some kind of interface
        public GatherResults DownloadQtyFiles(IVendorDirectory dir)
        {
            var files = new List<File>();

            using (var ftp = new FtpLib.FtpConnection(_config.QtyFileHost,
                _config.QtyFilePort,
                _config.QtyFileUsername,
                _config.QtyFilePassword))
            {
                ftp.Open();
                ftp.Login();

                dir.EnsureExists();

                var localFile = dir.GetNewRawFile(FileTypes.Qty);
                ftp.GetFile(_config.QtyFileName, localFile.Name.GetPath(), true);
                files.Add(localFile);

                ftp.Close();
            }

            return new GatherResults
            {
                VendorHandle = dir.VendorHandle,
                Files = files
            };
        }
Exemple #2
0
        //@"ftp://*****:*****@192.168.42.6/"
        //只能支持单个FTP站点
        public bool InitHttpRoot(DataModel.VideoSupplierDeviceInfo item)
        {
            string strformat = string.IsNullOrEmpty(item.UserName) ? "{0}://{3}:{4}/{5}" : "{0}://{1}:{2}@{3}:{4}/{5}";
            string urlroot   = string.Format(strformat
                                             , (item.ProtocolType == DataModel.E_VDA_NET_STORE_DEV_PROTOCOL_TYPE.E_DEV_PROTOCOL_CONTYPE_FTP_FILE) ? "ftp" : "http"
                                             , item.UserName
                                             , item.Password
                                             , item.IP
                                             , item.Port
                                             , item.Rest);

            ftproot          = urlroot.TrimEnd('/') + "/";
            GetDirectoryList = GetFtpDirectoryList;
            GetFileList      = GetFtpFileList;
            ClearRoot();
            InitRoot(ftproot, ftproot);

            //string ftproot = @"ftp://*****:*****@192.168.42.6/";

            m_ftpService = new FtpLib.FtpConnection(item.IP, (int)item.Port, item.UserName, item.Password);
            m_ftpService.Open();
            try
            {
                m_ftpService.Login();
                //m_ftpService.SetCurrentDirectory(textBoxPath.Text);
                SaveFtpInfo();
                return(true);
            }
            catch (Exception ex)
            {
                DevComponents.DotNetBar.MessageBoxEx.Show("无法连接FTP服务器,请检查地址及用户名密码。 " + ex.Message, Framework.Environment.PROGRAM_NAME);
                return(false);
            }
        }
Exemple #3
0
 void DirSearch(string sDir, FtpLib.FtpConnection ftp, string currentDirectory, bool createWorldFolder = false, bool first = false)
 {
     try
     {
         ftp.SetCurrentDirectory(currentDirectory);
         if (createWorldFolder)
         {
             if (!ftp.DirectoryExists(owlWorldName))
             {
                 ftp.CreateDirectory(owlWorldName);
             }
             ftp.SetCurrentDirectory(owlWorldName);
             currentDirectory = owlWorldName;
         }
         foreach (string f in Directory.GetFiles(sDir))
         {
             Uri    uri = new Uri(f);
             string str = f.ToLower();
             if (first)
             {
                 if (str.Contains("channel1.txt") || str.Contains("channel2.txt") || str.Contains("channel3.txt") || str.Contains("channel4.txt") || str.Contains("channel5.txt"))
                 {
                     ftp.PutFile(f, System.IO.Path.GetFileName(uri.LocalPath));
                 }
                 else
                 {
                     continue;
                 }
             }
             else
             {
                 if (!str.Contains("channel1.txt") && !str.Contains("channel2.txt") && !str.Contains("channel3.txt") && !str.Contains("channel4.txt") && !str.Contains("channel5.txt"))
                 {
                     ftp.PutFile(f, System.IO.Path.GetFileName(uri.LocalPath));
                 }
             }
         }
         foreach (string d in Directory.GetDirectories(sDir))
         {
             ftp.SetCurrentDirectory(currentDirectory);
             string dirname = new DirectoryInfo(d).Name;
             if (!ftp.DirectoryExists(dirname))
             {
                 ftp.CreateDirectory(dirname);
             }
             string newCurrentDir = currentDirectory + "/" + dirname;
             DirSearch(d, ftp, newCurrentDir);
         }
     }
     catch (System.Exception e)
     {
     }
 }
Exemple #4
0
 void FTPLogin(string server, string username, string password, string uploadDir, bool upperChannel, bool first = true)
 {
     try
     {
         using (FtpLib.FtpConnection ftp = new FtpLib.FtpConnection(server, username, password))
         {
             ftp.Open();  /* Open the FTP connection */
             ftp.Login(); /* Login using previously provided credentials */
             DirSearch(uploadDir, ftp, "/", upperChannel, first);
             ftp.Close();
         }
     }
     catch {  }
 }
Exemple #5
0
 /// <summary>
 /// Inicializa el Modulo FTP.
 /// </summary>
 /// <param name="obj">
 /// Campos Obligatorios:  \n
 /// FTPDireccionRemota (string) \n
 /// FTPUsuario (string) \n
 /// FTPPassword (string) \n
 /// FTPIntentos (int) \n
 /// </param>
 public void Init(dynamic obj)
 {
     if ((obj as IDictionary <string, object>).ContainsKey("FTP"))
     {
         _FTPDireccionRemota = obj.FTP.FTPDireccionRemota;
         _FTPUsuario         = obj.FTP.FTPUsuario;
         _FTPPassword        = obj.FTP.FTPPassword;
         _FTPIntentos        = obj.FTP.FTPIntentos;
     }
     else
     {
         _FTPDireccionRemota = obj.FTPDireccionRemota;
         _FTPUsuario         = obj.FTPUsuario;
         _FTPPassword        = obj.FTPPassword;
         _FTPIntentos        = obj.FTPIntentos;
     }
     clienteFTP = new FtpLib.FtpConnection(_FTPDireccionRemota, _FTPUsuario, _FTPPassword);//Cliente FTP
 }
Exemple #6
0
 /// <summary>
 /// Inicializa el Modulo FTP.
 /// </summary>
 /// <param name="obj">
 /// Campos Obligatorios:  \n
 /// FTPDireccionRemota (string) \n
 /// FTPUsuario (string) \n
 /// FTPPassword (string) \n
 /// FTPIntentos (int) \n
 /// </param>
 public void Init(dynamic obj)
 {
     _data      = obj.FTP;                                                                                 //Guardo la sección que me interesa para este módulo
     clienteFTP = new FtpLib.FtpConnection(_data.FTPDireccionRemota, _data.FTPUsuario, _data.FTPPassword); //Cliente FTP
 }