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();
int ArraySize = bytes.Length;FileStream fs = new FileStream(filepath + filename, FileMode.OpenOrCreate);fs.Write(bytes, 0, ArraySize);fs.Close();fs.Dispose();ms.Dispose();
使用WebRequest对象的GetResponseStream方法,获取到的流是网络流,网络流在调用Seek和SetLength时,会引发NotSupportedException
解决办法就是使用MemoryStream进行转换
ConnectStream下载网络图片转成MemorySteam下载到本地
最新推荐文章于 2023-03-27 07:43:26 发布