日期:2011-06-24  浏览次数:20565 次

 C# 获取外网图片并保存到相对应路径  
public static int 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(".")); 
   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(); 

    return 1; 
   } 
   else 
   ...{ 
    return 0; 
   } 
  }