Posts Tagged ‘sharp’

C# : Descargar un fichero de un FTP con .NET

En estos últimos posts hemos visto como conectarnos a un servidor FTP, como listar los archivos encontrados, como conseguir la talla de un fichero especifico y ahora cerramos este tour descargando ese archivos con el siguiente snippet :

FtpWebRequest request = FtpWebRequest.Create([FTPAddress] + "/" + filename) as FtpWebRequest;
request.Method = WebRequestMethods.Ftp.DownloadFile;

Y despues necesitaremos crear una bucle while  con el siguiente código :

int bytesRead = reader.Read(buffer, 0, buffer.Length);

Donde reader es el ResponseStream. La variable bytesRead retorna cuantos bytes hemos descargado hasta el momento. Cuando bytesRead llegue a 0 podremos romper la bucle.

Share

C# : Conseguir la talla de un fichero en un servidor FTP con .NET

Seguimos con este mini monográfico sobre el FTP en .NET. Ahora ya sabemos como conectarnos a un servidor FTP, y como listar los ficheros remotos.

Ahora si queremos saber la talla de uno de esos fichero remotos podemos hacer lo siguiente :

FtpWebRequest request = FtpWebRequest.Create([FTPAddress]) as FtpWebRequest;
request.Method = WebRequestMethods.Ftp.ListDirectory;

int dataLength = (int)request.GetResponse().ContentLength;
Share

C# : Listar ficheros de un servidor remoto FTP en .NET

Si necesitáis listar ficheros de un servidor FTP podéis usar el código siguiente (doy por hecho el que ya os habéis conectado al servidor FTP, sino mirar el post relacionado) :

FtpWebRequest request = FtpWebRequest.Create([FTPAddress]) as FtpWebRequest;
request.Method = WebRequestMethods.Ftp.ListDirectory;

Y ahora “leemos” el contenido de dicho directorio :

List<string> files = new List<string>();
StreamReader reader = new StreamReader(responseStream);

while (!reader.EndOfStream)
{
     Application.DoEvents();
     files.Add(reader.ReadLine());
}
reader.Close();
Share

C# : Conectar a servidor FTP con .NET

Si necesitamos conectar a un server FTP usando .NET y C# este código os puede ser de utilidad…

FtpWebRequest request = FtpWebRequest.Create([FTPString]) as FtpWebRequest;

request.Credentials = new NetworkCredential(username, password);
request.UsePassive = true;
request.UseBinary = true;
request.KeepAlive = true;

FtpWebResponse response = request.GetResponse() as FtpWebResponse;
Stream responseStream = response.GetResponseStream();

//... Aqui podeis meter los comandos FTP que necesiteis...
responseStream.Close();
response.Close(); //Cerramos la conexión con el server...
Share