以下介绍两种方法:

1.利用WebRequest,WebResponse 类

WebRequest wreq=WebRequest.Create("http://up.2cto.com/2012/0516/20120516112717995.gif");
HttpWebResponse wresp=(HttpWebResponse)wreq.GetResponse();
Stream s=wresp.GetResponseStream();
System.Drawing.Image img;
img = System.Drawing.Image.FromStream(s);
img.Save("D:\\aa.gif",ImageFormat.Gif); //保存
//下面直接输出
MemoryStream ms=new MemoryStream();
img.Save(ms,ImageFormat.Gif);
img.Dispose();
Response.ClearContent();
Response.ContentType="image/gif";
Response.BinaryWrite(ms.ToArray());

2.利用 WebClient 类

WebClient my=new WebClient();
byte[] mybyte;
mybyte=my.DownloadData("http://up.2cto.com/2012/0516/20120516112717995.gif");
MemoryStream ms=new MemoryStream(mybyte);
System.Drawing.Image img;
img = System.Drawing.Image.FromStream(ms);
img.Save("D:\\a.gif",ImageFormat.Gif); //保存
//下面直接输出
Response.ClearContent();
Response.ContentType="image/gif";
Response.BinaryWrite(mybyte);
//如果是真实的图片地址直接用
my.DownloadFile("http://up.2cto.com/2012/0516/20120516112717995.gif","D:\\a.gif"); //直接可以保存