HttpWebRequest wreq = (HttpWebRequest)WebRequest.Create(strUrl);
wreq.Timeout = _httpTimeout * ;
wreq.ReadWriteTimeout = _httpTimeout * ;
wreq.Method = "POST";
wreq.ContentType = "application/json;charset=utf-8";
wreq.ContentLength = data.Length;
using (Stream putStream = wreq.GetRequestStream())
{
putStream.Write(data, , 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[];
int size = ;
int read = ;
using (MemoryStream ms = new MemoryStream())
{
byte[] buffer = new byte[size];
do
{
read = stream.Read(buffer, , size);
ms.Write(buffer, , read);
} while (read > ); by = ms.ToArray();
}
stream 转 byte[] ,这个方法也可以:
public byte[] ReadFully (Stream stream)
{
// 初始化一个32k的缓存
byte[] buffer = new byte[];
using (MemoryStream ms = new MemoryStream())
{ //返回结果后会自动回收调用该对象的Dispose方法释放内存
// 不停的读取
while (true)
{
int read = stream.Read(buffer, , buffer.Length);
// 直到读取完最后的3M数据就可以返回结果了
if (read <= )
return ms.ToArray();
ms.Write(buffer, , read);
}
}
}
--