runliuv

runliuv@cnblogs

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
HttpWebRequest wreq = (HttpWebRequest)WebRequest.Create(strUrl);
                wreq.Timeout = _httpTimeout * 1000;
                wreq.ReadWriteTimeout = _httpTimeout * 1000;
                wreq.Method = "POST";
                wreq.ContentType = "application/json;charset=utf-8";
                wreq.ContentLength = data.Length;
                using (Stream putStream = wreq.GetRequestStream())
                {
                    putStream.Write(data, 0, data.Length);
                }

                var resp = wreq.GetResponse() as HttpWebResponse;
                string rst = string.Empty;
                using (Stream putStream = resp.GetResponseStream())
                {
                    StreamReader sr = new StreamReader(putStream);
                    rst = sr.ReadToEnd();
                }

 --way 2,stream 转 byte[] :

 byte[] by = new byte[800];
            int size = 1024;
            int read = 0;
            using (MemoryStream ms = new MemoryStream())
            {
                byte[] buffer = new byte[size];
                do
                {
                    read = stream.Read(buffer, 0, size);
                    ms.Write(buffer, 0, read);
                } while (read > 0);

                by = ms.ToArray();
            }

 stream 转 byte[] ,这个方法也可以:

public byte[] ReadFully (Stream stream)
        { 
            // 初始化一个32k的缓存 
            byte[] buffer = new byte[32768];
            using (MemoryStream ms = new MemoryStream())
            { //返回结果后会自动回收调用该对象的Dispose方法释放内存 
                // 不停的读取 
                while (true)
                {
                    int read = stream.Read(buffer, 0, buffer.Length);
                    // 直到读取完最后的3M数据就可以返回结果了 
                    if (read <= 0)
                        return ms.ToArray();
                    ms.Write(buffer, 0, read);
                }
            }
        }

 

--

 

posted on 2016-07-14 10:53  runliuv  阅读(572)  评论(0)    收藏  举报