1. 程式人生 > >流只能讀取一次的問題

流只能讀取一次的問題

問題描述,直接看圖

上一段測試程式碼

 public void test()
        {
            //string url = "https://ssl.ptlogin2.qq.com/ptqrshow?appid=501004106&e=0&l=M&s=5&d=72&v=4&t=#{t}";
            //url = url.Replace("#{t}", rand.NextDouble().ToString());
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://ssl.ptlogin2.qq.com/ptqrshow?appid=501004106&e=0&l=M&s=5&d=72&v=4&t=#{t}".Replace("#{t}", rand.NextDouble().ToString()));
            //HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);     
            //req.Method = "get";
            req.CookieContainer = BLL.SmartQQ.Tool.Http.cookies;
            HttpWebResponse res = (HttpWebResponse)req.GetResponse();
            BLL.SmartQQ.Tool.Http.cookies.Add(res.Cookies);
            Stream responseStream = res.GetResponseStream();
            //int contentLength = (int)res.ContentLength;
            //int offset = 0;
            //byte[] buffer = new byte[contentLength];
            //while (contentLength > 0)
            //{
            //    int num3 = responseStream.Read(buffer, offset, contentLength);
            //    if (num3 == 0)
            //    {
            //        break;
            //    }
            //    contentLength -= num3;
            //    offset += num3;
            //}
            //pictureBoxQRCode.Image = Image.FromStream(new MemoryStream(buffer));
            pictureBoxQRCode.Image = Image.FromStream(res.GetResponseStream());
            //pictureBoxQRCode.Image = Image.FromStream(responseStream);

           
            
        }

res.GetResponseStream()  讀取流, 在不為多次讀取流而做操作的時候, 預設只能讀一次

讀完之後再次使用res.GetResponseStream()讀取流的話, 程式碼會爆異常