1.StreamToMemoryStream
MemoryStream StreamToMemoryStream(Stream instream) { MemoryStream outstream = new MemoryStream(); const int bufferLen = 4096; byte[] buffer = new byte[bufferLen]; int count = 0; while ((count = instream.Read(buffer, 0, bufferLen)) > 0) { outstream.Write(buffer, 0, count); } return outstream; }
2.Stream.Length報錯:此流不支持查找
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + (data == "" ? "" : "?" + data)); request.Method = "GET"; using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { if (response.StatusCode == HttpStatusCode.OK) { Stream rs =response.GetResponseStream(); var ms = StreamToMemoryStream(rs); ms.Seek(0, SeekOrigin.Begin); int buffsize =(int)ms.Length; //rs.Length 此流不支持查找,先轉為MemoryStream byte[] bytes = new byte[buffsize]; ms.Read(bytes, 0, buffsize); ms.Flush();ms.Close();
rs.Flush();rs.Close();
}
From:http://www.cnblogs.com/xuejianxiyang/p/5816684.html