配色: 字号:
asp
2016-08-30 | 阅:  转:  |  分享 
  
asp.net保存远程图片的代码



复制代码代码如下:

usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;//引入空间usingSystem.Net;usingSystem.IO;usingSystem.Text;usingSystem.Text.RegularExpressions;usingSystem.Collections;//////采集///publicclasscaiji{publiccaiji(){////TODO:在此处添加构造函数逻辑//}//////要采集的网页的连接地址//////url///publicstaticstringcaijiByUrl(stringurl,stwww.hunanwang.netgpath){stringstr=GetSourceTextByUrl(url,chargest);ArrayListlib=newArrayList();inti=0;//根据url取得网站域名Uriuri=newUri(url);//Scheme或者协议,一般为http,Host为取得域名stringbaseurl=uri.Scheme+"://"+uri.Host+"/";//提取出url,包括src等信息//\S匹配任何非空白字符Regexg=newRegex(@"(src=(""|\'')\S+\.(gif|jpg|png|bmp)(""|\''))",RegexOptions.Multiline|RegexOptions.IgnoreCase);MatchCollectionm=g.Matches(str);foreach(Matchmathinm){//已经提取到图片的路径了,但还需要分绝对路径,相对路径,以及后缀名是否为图片,因为可能为.asp,.aspx这些,比如验证码图片stringimgUrl=math.Groups[0].Value.ToLower();//转成小写,=号之间可能有不定的空格//去除src与单引号,双引号imgUrl=imgUrl.Replace("src","");imgUrl=imgUrl.Replace("\"","");imgUrl=imgUrl.Replace("''","");imgUrl=imgUrl.Replace("=","");imgUrl=imgUrl.Trim();//路径处理if(imgUrl.Substring(0,4)!="http"){//需要判断是否是绝对路径还是相对路径if(imgUrl.Substring(0,1)=="/"){imgUrl=baseurl+imgUrl;}else{imgUrl=url.Substring(0,url.LastIndexOf("/")+1)+imgUrl;}}//判断元素是否已经存在,-1为不存在if(lib.IndexOf(imgUrl)==-1){lib.Add(imgUrl);}}stringstr_=string.Empty;WebClientclient=newWebClient();for(intj=0;j保存路径为:"+savepath+"

";}catch(Exceptione){str_+=e.Message;}}returnstr_;}publicstaticstringGetSourceTextByUrl(stringurl,stringchargest){WebRequestrequest=WebRequest.Create(url);request.Timeout=20000;//20秒超时WebResponseresponse=request.GetResponse();StreamresStream=response.GetResponseStream();StreamReadersr=newStreamReader(resStream,www.visa158.comGetEncoding(chargest));returnsr.ReadToEnd();}}

使用:比如我是保存到upload文件夹中的:

复制代码代码如下:

stringpath=Server.MapPath("~/upload/");Response.Write(caiji.caijiByUrl(http://www.jb51.net,"utf-8",path));



献花(0)
+1
(本文系爱就请温柔...首藏)