2010-06-24 38 views
18

Tôi đang cố gắng chuyển đổi một Url thành Luồng nhưng tôi không chắc mình có đúng hay sai.Chuyển đổi sang Luồng từ 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; 
} 

Tôi có đi đúng hướng không?

Trả lời

15

Bạn không cần phải tạo StreamReader tại đó. Chỉ return aResponse.GetResponseStream();. Người gọi phương thức đó cũng sẽ cần gọi số Dispose trên luồng khi hoàn thành.

+0

Vui lòng thêm việc sửa chữa mã ở đây theo yêu cầu cho câu trả lời. –

16

tôi đã kết thúc thực hiện một phiên bản nhỏ hơn và sử dụng WebClient thay vì mã Request Http cũ:

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

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

    return new MemoryStream(imageData); 
} 
Các vấn đề liên quan