2010-06-24 5 views
18

J'essayais de convertir une URL en Stream mais je ne suis pas sûr si j'ai raison ou tort.Convertir en flux à partir d'une 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; 
} 

Suis-je sur la bonne voie?

Répondre

15

Vous n'avez pas besoin de créer un StreamReader. Juste return aResponse.GetResponseStream();. L'appelant de cette méthode devra également appeler Dispose sur le flux lorsque c'est fait.

+0

S'il vous plaît ajouter le correctif de code ici selon les exigences pour les réponses. –

16

je fini par faire une version plus petite et en utilisant WebClient place l'ancien Http Demande code:

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

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

    return new MemoryStream(imageData); 
}