Stream y su propiedad length!!!!

Iniciado por MANULOMM, 14 Enero 2008, 17:29 PM

0 Miembros y 1 Visitante están viendo este tema.

MANULOMM

Hola tengo un problema con la clase stream, estoy intentando descagar un archivo de un ftp pero no logro saber cual es el tamaño del archivo pues la propiedad length del stream me arroja un error... miren el code.

Código (csharp) [Seleccionar]

        public bool DescargarArchivo(string NombreArchivo,string Host, string Usuario, string contraseña)
        {
            Uri _uri = new Uri(Host + NombreArchivo);
            WebPermission permisos = new WebPermission(NetworkAccess.Connect, _uri.ToString());
            if (uri.Scheme != Uri.UriSchemeFtp)
            {
                return false;
            }
            Solicitud = (FtpWebRequest)FtpWebRequest.Create(_uri.ToString());
            Solicitud.Credentials = new NetworkCredential(Usuario, contraseña);
            Solicitud.Method = WebRequestMethods.Ftp.DownloadFile;
            Respuesta = (FtpWebResponse)Solicitud.GetResponse();
            Stream RespuestaS = Respuesta.GetResponseStream();
            byte[] ArchivoDescargado = new byte[1024];
            RespuestaS.Read(ArchivoDescargado, 0, ArchivoDescargado.Length);
            File.WriteAllBytes("c://" + NombreArchivo, ArchivoDescargado);
            RespuestaS.Close();
            return true;
        }


este funciona bien pero solo descarga archivo iguales o menores a 1024 bytes (logicamente lo puedo hacer mas grando ampliando este numero pero el objetivo es conocer el tamaño dinamicamente).
osea, si yo lo siguiente lanza una excepcion NotSupportedException:
Código (csharp) [Seleccionar]

byte[] ArchivoDescargado = new byte[Convert.toInt32(RespuestaS.Length)]

Gracias de antemano...

Atentamente,

Juan Manuel Lombana
Medellìn - Colombia


MANULOMM

ya lo he solucionado... dentro un momento les subo el code... pero fue con otra funcion

Atentamente,

Juan Manuel Lombana
Medellín - Colombia