2010-06-24 9 views
18

Estaba tratando de convertir una URL a Stream, pero no estoy seguro de si estoy en lo cierto o no.Convertir a transmisión desde una URL

protected Stream GetStream(String gazouUrl) 
{ 
    Stream rtn = null; 
    HttpWebRequest aRequest = (HttpWebRequest)WebRequest.Create(gazouUrl); 
    HttpWebResponse aResponse = (HttpWebResponse)aRequest.GetResponse(); 

    using (StreamReader sReader = new StreamReader(aResponse.GetResponseStream(), System.Text.Encoding.Default)) 
    { 
     rtn = sReader.BaseStream; 
    } 
    return rtn; 
} 

¿Estoy en el camino correcto?

Respuesta

15

No es necesario que cree un StreamReader allí. Solo return aResponse.GetResponseStream();. El llamante de ese método también deberá llamar al Dispose en la transmisión cuando esté listo.

+0

Añada el código aquí solución según los requisitos de respuestas. –

16

que terminé haciendo una versión más pequeña y el uso de WebClient en lugar del antiguo Código de petición HTTP:

private static Stream GetStreamFromUrl(string url) 
{ 
    byte[] imageData = null; 

    using (var wc = new System.Net.WebClient()) 
     imageData = wc.DownloadData(url); 

    return new MemoryStream(imageData); 
} 
Cuestiones relacionadas