示例#1
0
        public bool Download(ElementFolder remoteFolder, ElementFile remoteFile, ElementFolder localFolder)
        {
            using (_monFtp = new Ftp())
            {
                _monFtp.Connect(_maConfig.Host, _maConfig.Port);      // or ConnectSSL for SSL
                _monFtp.Login(_maConfig.Login, _maConfig.MotDePass);
                string resteCheminFolder  = remoteFolder.GetPath().Replace(_maConfig.GetUriChaine(), "").Replace(@"\", "/");
                string resteCheminFichier = remoteFile.GetPath().Replace(_maConfig.GetUriChaine(), "").Replace(@"\", "/");
                _monFtp.ChangeFolder(resteCheminFolder);

                _monFtp.Download(remoteFile.GetName(), Path.Combine(localFolder.GetPath(), remoteFile.GetName()));

                _monFtp.Close();
            }

            return(true);
        }
示例#2
0
        /// <summary>
        /// Obtient le nombre de fichiers présent dans le dossier racine
        /// </summary>
        /// <returns>nombre entier int</returns>
        public int GetNbrFichiersRacine()
        {
            int nbrFichierRacine = 0;

            foreach (ITransfer unElement in _mesElements)
            {
                if (!unElement.EstUnDossier())
                {
                    ElementFile unFichierTempTraitement = (ElementFile)unElement;

                    if (unFichierTempTraitement.EstUnFichier())
                    {
                        nbrFichierRacine = nbrFichierRacine + 1;
                    }
                }
            }

            return(nbrFichierRacine);
        }
示例#3
0
        public bool Upload(ElementFolder localFolder, ElementFile localFile, ElementFolder distantFolder)
        {
            FtpResponse maReponseFtp;

            using (_monFtp = new Ftp())
            {
                _monFtp.Connect(_maConfig.Host, _maConfig.Port);
                _monFtp.Login(_maConfig.Login, _maConfig.MotDePass);
                string resteChemin = distantFolder.GetPath().Replace(_maConfig.GetUriChaine(), "").Replace(@"\", "/");

                if (!string.IsNullOrEmpty(resteChemin))
                {
                    _monFtp.ChangeFolder(resteChemin);
                }

                maReponseFtp = _monFtp.Upload(localFile.GetName(), localFile.GetPath());
                _monFtp.Close();
            }

            return(true);
        }
示例#4
0
        /// <summary>
        /// Obtient le nombre de fichiers présent dans le dossier (sous dossiers compris)
        /// </summary>
        /// <returns>un entier int</returns>
        public int GetNbrFichiers()
        {
            int nbrFichiers = 0;

            foreach (ITransfer unElement in _mesElements)
            {
                if (unElement.EstUnDossier())
                {
                    ElementFolder unDossierTempTraitement = (ElementFolder)unElement;
                    nbrFichiers = nbrFichiers + unDossierTempTraitement.GetNbrFichiers();
                }
                else
                {
                    ElementFile unFichierTempTraitement = (ElementFile)unElement;

                    if (unFichierTempTraitement.EstUnFichier())
                    {
                        nbrFichiers = nbrFichiers + 1;
                    }
                }
            }

            return(nbrFichiers);
        }
示例#5
0
 public void Upload(ElementFolder elementFolder1, ElementFile elementFile, ElementFolder elementFolder2)
 {
     _monClientFtp.Upload(elementFolder1, elementFile, elementFolder2);
 }
示例#6
0
 public void Download(ElementFolder remoteFolder, ElementFile remoteFile, ElementFolder localFolder)
 {
     _monClientFtp.Download(remoteFolder, remoteFile, localFolder);
 }