예제 #1
0
        /// <summary>
        /// Sube multiples archivos a un servidor FTP
        /// </summary>
        /// <param name="origenes"></param>
        /// <param name="destino"></param>
        public void subirArchivos(List <string> origenes, string destino)
        {
            foreach (string origen in origenes)
            {
                string nombreArchivo = Archivo.obtenerNombre(origen);

                if (subirArchivo(origen, destino))
                {
                    Console.WriteLine("se subió el archivo: " + nombreArchivo);
                }
                else
                {
                    Console.WriteLine("no se subió el archivo: " + nombreArchivo);
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Descarga multiples archivos de un servidor
        /// </summary>
        /// <param name="carpetaOrigen"></param>
        /// <param name="carpetaRemota"></param>
        /// <param name="destinos"></param>
        public void descargarArchivos(string carpetaOrigen, string carpetaRemota, List <string> destinos)
        {
            foreach (string destino in destinos)
            {
                string nombreArchivo = Archivo.obtenerNombre(destino);

                if (descargarArchivo(carpetaOrigen, carpetaRemota, destino))
                {
                    Console.WriteLine("se descargó el archivo: " + nombreArchivo);
                }
                else
                {
                    Console.WriteLine("no se descargó el archivo: " + nombreArchivo);
                }
            }
        }
예제 #3
0
        /// <summary>
        /// Sube archivo a un servidor FTP
        /// </summary>
        /// <param name="rutaOrigen"></param>
        /// <param name="rutaDestino"></param>
        /// <returns>True o False</returns>
        public bool subirArchivo(string rutaOrigen, string rutaDestino)
        {
            string nombreArchivo = Archivo.obtenerNombre(rutaOrigen);

            string archivoRemoto = getRuta(rutaDestino, nombreArchivo);

            try
            {
                // objeto de peticion por ftp
                FtpWebRequest peticion = (FtpWebRequest)FtpWebRequest.Create(archivoRemoto);
                peticion.Proxy      = null;
                peticion.UsePassive = true;
                peticion.UseBinary  = true;
                peticion.KeepAlive  = true;
                // metodo
                peticion.Method = WebRequestMethods.Ftp.UploadFile;

                // datos del usuario
                peticion.Credentials = new NetworkCredential(Usuario, Passsword);

                //Copiamos el contenido del archivo del equipo al que creamos en el server
                StreamReader lector           = new StreamReader(rutaOrigen);
                byte[]       contenidoArchivo = Encoding.UTF8.GetBytes(lector.ReadToEnd());
                lector.Close();
                peticion.ContentLength = contenidoArchivo.Length;

                //Generamos la peticion de Stream para poder transferir los datos
                Stream escritor = peticion.GetRequestStream();
                escritor.Write(contenidoArchivo, 0, contenidoArchivo.Length);
                escritor.Close();

                FtpWebResponse respuesta = (FtpWebResponse)peticion.GetResponse();

                //Cerramos el hilo por el cual se subió el archivo
                respuesta.Close();

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }