目前为止常用有两种方式:
1、通过 System.Net 名称空间下 HttpWebRequest 发起请求,将 HttpWebResponse 返回输出到 Stream,然后保存。
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(path); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream stream = response.GetResponseStream(); int count = Int32.Parse(stream.Length.ToString()); //方法一 byte[] buffer = new byte[count]; stream.Read(buffer, 0, buffer.Length); stream.Close(); FileStream fs = new FileStream(AppDomain.CurrentDomain.BaseDirectory + ImgIndex.ToString() + ".jpg", FileMode.OpenOrCreate, FileAccess.Write); fs.Write(buffer, 0, buffer.Length); fs.Flush(); fs.Close();
string url = "http://www.example.com";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(path); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); System.Drawing.Image image = System.Drawing.Image.FromStream(responseStream); responseStream.Close(); DateTime date = System.DateTime.Now; string timeCur = String.Format("{0}/{1}/{2}", date.Year, date.ToString("yyyyMM"), date.ToString("yyyy-MM-dd")); string folder = Server.MapPath("../upload/") + timeCur + "/";//上传文件夹。相对路径 //自动创建文件夹 if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } string FileName = DateTime.Now.ToString("HHmmssffff"); image.Save(folder + FileName + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg); image.Dispose(); //释放资源 response.Close();
2、 通过 System.Net 名称空间下 WebClient 类下载文件。
//通过WebClient下载网页的源码 string url = "http://www.example.com";
System.Net.WebClient client = new System.Net.WebClient(); client.Encoding = System.Text.Encoding.UTF8; string strHtml = client.DownloadString(url);
原文:http://www.cnblogs.com/xinaixia/p/4977409.html