首页 > 开发 > 综合 > 正文

C# 获取外网图片并保存到相对应路径

2024-07-21 02:26:23
字体:
来源:转载
供稿:网友

 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; 
   } 
  }  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表