예제 #1
0
 //Para poder fazer o upload do arquivo é necessário passar o caminho todo do arquivo Ex: @"c:\path\testeenvio.txt"
 //Dentro do método tem um objeto "FileInfo", onde trata o documento para facilitar a manipulação do mesmo
 public void uploadFTP()
 {
     try
     {
         if (FTPfileExists() == true)
         {
             throw new Exception();
         }
         else
         {
             var uri = new Uri(URL + ArquivoUpload.Name);
             using (var webClient = new WebClient())
             {
                 webClient.Credentials = new NetworkCredential(Username, Password);
                 webClient.UploadFile(uri, ArquivoUpload.FullName);
             }
             OnDowndload = OnUploadComplete;
             OnDowndload.Invoke();
         }
     }
     catch (Exception ex)
     {
         if (FTPfileExists() == true)
         {
             OnDowndload = OnUploadExists;
             OnDowndload.Invoke();
         }
         else
         {
             OnDowndload = OnUploadErro;
             OnDowndload.Invoke();
         }
     }
 }
예제 #2
0
        //A sting Local armazena o nome do arquivo que você quer baixar na pasta raiz, vulgo a URL
        //os arquivos são baixados passando o nome e o tipo como parâmetro exp: "teste.txt"
        public void BaixarArquivoFTP()
        {
            try
            {
                OnDowndload = OnInit;
                OnDowndload.Invoke();
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create(URL + ArquivoDownload);
                request.Method = WebRequestMethods.Ftp.DownloadFile;

                request.Credentials = new NetworkCredential(Username, Password);
                var response = (FtpWebResponse)request.GetResponse();

                var responseStream = response.GetResponseStream();
                if (FileDirectoryExists() == true)
                {
                    throw new Exception();
                }
                else
                {
                    using (var memoryStream = new MemoryStream())
                    {
                        responseStream.CopyTo(memoryStream);
                        var conteudoArquivo = memoryStream.ToArray();
                        File.WriteAllBytes(ArquivoDownload, conteudoArquivo);
                    }
                    response.Close();
                    //MoverFilePara();
                    OnDowndload = OnComplete;
                    OnDowndload.Invoke();
                }
            }
            catch (Exception ex)
            {
                if (FileDirectoryExists() == true)
                {
                    OnDowndload  = OnFileExists;
                    OnDowndload += OnError;
                    OnDowndload.Invoke();
                }
                else
                {
                    OnDowndload = OnError;
                    OnDowndload.Invoke();
                }
            }
        }
예제 #3
0
        public string ArquivoDownload;                // Facilita a manipulação do arquivo e evita de ficar passando parâmetros a todo método criado

        #region Listar diretorio do FTP
        //Lista os arquivos dentro do diretório.
        public void ListarDiretorioFTP()
        {
            try
            {
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create(URL);
                request.Method = WebRequestMethods.Ftp.ListDirectory;

                request.Credentials = new NetworkCredential(Username, Password);
                FtpWebResponse response       = (FtpWebResponse)request.GetResponse();
                Stream         responseStream = response.GetResponseStream();
                StreamReader   reader         = new StreamReader(responseStream);
                string         names          = reader.ReadToEnd();
                Console.WriteLine(names);


                reader.Close();
                response.Close();
            }
            catch (Exception)
            {
                OnDowndload = OnError;
                OnDowndload.Invoke();
            }
        }