#region 保存web图片到本地 /// <summary> /// 保存web图片到本地 /// </summary> /// <param name="imgUrl">web图片路径</param> /// <param name="path">保存路径</param> /// <param name="fileName">保存文件名</param> /// <returns></returns> public static string SaveImageFromWeb(string imgUrl, string path, string fileName) { if (path.Equals("")) throw new Exception("未指定保存文件的路径"); string imgName = imgUrl.ToString().Substring(imgUrl.ToString().LastIndexOf("/") + 1); string defaultType = ".jpg"; string[] imgTypes = new string[] { ".jpg", ".jpeg", ".png", ".gif", ".bmp" }; string imgType = imgUrl.ToString().Substring(imgUrl.ToString().LastIndexOf(".")); string imgPath = ""; foreach (string it in imgTypes) { if (imgType.ToLower().Equals(it)) break; if (it.Equals(".bmp")) imgType = defaultType; } HttpWebRequest request = (HttpWebRequest)WebRequest.Create(imgUrl); request.UserAgent = "Mozilla/6.0 (MSIE 6.0; Windows NT 5.1; Natas.Robot)"; request.Timeout = 3000; WebResponse response = request.GetResponse(); Stream stream = response.GetResponseStream(); if (response.ContentType.ToLower().StartsWith("image/")) { byte[] arrayByte = new byte[1024]; int imgLong = (int)response.ContentLength; int l = 0; if (fileName == "") fileName = imgName; FileStream fso = new FileStream(path + fileName + imgType, FileMode.Create); while (l < imgLong) { int i = stream.Read(arrayByte, 0, 1024); fso.Write(arrayByte, 0, i); l += i; } fso.Close(); stream.Close(); response.Close(); imgPath = fileName + imgType; return imgPath; } else { return ""; } }