sábado, 4 de mayo de 2013

Subir archivo por ftp en C#

El siguiente fragmento de código sube un archivo de una ruta a un servidor FTP, se debe tener la dirección IP o dominio, y el usuario y contraseña para la conexion.    

           // se asigna la dirección ip o dominio a subir el archivo y ruta
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://172.26.3.95/archivo.csv");
            request.Method = WebRequestMethods.Ftp.UploadFile;

            // FTP credenciales
            request.Credentials = new NetworkCredential("usuario", "contraseña");

            //archivo que se va a subir
            StreamReader sourceStream = new StreamReader("C:\\archivo.csv");
            byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
            sourceStream.Close();
            request.ContentLength = fileContents.Length;

            Stream requestStream = request.GetRequestStream();
            requestStream.Write(fileContents, 0, fileContents.Length);
            requestStream.Close();

            FtpWebResponse response = (FtpWebResponse)request.GetResponse();

            response.Close();

7 comentarios:

  1. pero me sale error en la palabra reservada Response

    ResponderEliminar
    Respuestas
    1. usa response, con la primera minuscula

      Eliminar
  2. StreamReader sourceStream = new StreamReader("C:\bosch\aSTATUS_TRILEX_2014-12-08.csv");

    en esta linea me sale el siguiente mensaje "Caracteres no válidos en la ruta de acceso."

    ResponderEliminar
    Respuestas
    1. valida quitando los guiones de la fecha

      Eliminar
  3. me sale este error El URI solicitado no es válido para este comando FTP.

    ResponderEliminar
  4. me sale este error El URI solicitado no es válido para este comando FTP.

    ResponderEliminar
  5. Si quieren pasan y miran esto... a lo mejor y les sirve...
    http://www.forosdelweb.com/f29/subir-archivo-rar-por-ftp-c-1130555/#post4751358

    ResponderEliminar