string strUrl = "http://a0.att.hudong.com/81/05/01300000251000122717054330183.jpg";
WebRequest webreq = WebRequest.Create(strUrl);
WebResponse webres = webreq.GetResponse();
Stream stream = webres.GetResponseStream();
string filepath = "F://temp";
int start = strUrl.LastIndexOf("/", strUrl.Length);
string filename = strUrl.Substring(start, strUrl.Length - start);
System.Drawing.Image image = System.Drawing.Image.FromStream(stream);
MemoryStream ms = new MemoryStream();
image.Save(ms, ImageFormat.Jpeg);
byte[] bytes = ms.GetBuffer();
ms.Dispose();
int ArraySize = bytes.Length;FileStream fs = new FileStream(filepath + filename, FileMode.OpenOrCreate);fs.Write(bytes, 0, ArraySize);fs.Close();fs.Dispose();
使用WebRequest对象的GetResponseStream方法,获取到的流是网络流,网络流在调用Seek和SetLength时,会引发NotSupportedException
解决办法就是使用MemoryStream进行转换