2010-06-24 7 views
18

Bir URL'yi Akışa dönüştürmeye çalışıyordum, ancak doğru veya yanlış olduğumu bilmiyorum.Bir Url'den Aktarım'a Dönüştürme

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; 
} 

Doğru yolda mıyım?

cevap

15

Burada bir StreamReader oluşturmanız gerekmez. Sadece return aResponse.GetResponseStream();. Bu yöntemin arayıcısı, bittiğinde akışta Dispose'u aramalıdır.

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

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

    return new MemoryStream(imageData); 
} 
+0

cevaplar ihtiyaçlarına göre burada kod düzeltme ekleyiniz: –

16

Ben daha küçük bir versiyonu yapıyor ve WebClient yerine eski HTTP isteği kodunu kullanarak sona erdi.