提取CuteEditor编辑器中的图片地址,并将远程图片保存到本地
2007-03-14 14:31 snryang 阅读(1202) 评论(3) 编辑 收藏 举报using System.Net;
Regex re = new Regex(@"src\s*=\s*(?:([""'])(?<src>[^""']+)\1|(?<src>[^\s>]+))", RegexOptions.IgnoreCase | RegexOptions.Singleline);
MatchCollection mc = re.Matches(this.Editor1.XHTML.ToString());
foreach (Match m in mc)
{
string url=m.Groups["src"].Value;
string filepath=url;
if(url.Substring(0,7).ToLower()=="http://")
{
string KuoZhangMing="."+url.Substring(url.LastIndexOf(".")+1);
string path = HttpContext.Current.Server.MapPath(@"/MLXZ/Uploads/Download/");
string filename=DateTime.Now.ToString("yyyyMMddHHmmss")+KuoZhangMing;
path=path+filename;
filepath=@"/MLXZ/Uploads/Download/"+filename;
WebClient myWebClient = new WebClient();
myWebClient.DownloadFile(url,path);
this.Editor1.Text=this.Editor1.XHTML.ToString().Replace(url,filepath);
}
Pic.Items.Add(new ListItem(filepath,filepath));
}
上面代码实现了提取编辑器中的图片地址,如果图片地址为网上的,则会自动保存到本地.其它是的editor1为一个编辑器CuteEditor
Regex re = new Regex(@"src\s*=\s*(?:([""'])(?<src>[^""']+)\1|(?<src>[^\s>]+))", RegexOptions.IgnoreCase | RegexOptions.Singleline);
MatchCollection mc = re.Matches(this.Editor1.XHTML.ToString());
foreach (Match m in mc)
{
string url=m.Groups["src"].Value;
string filepath=url;
if(url.Substring(0,7).ToLower()=="http://")
{
string KuoZhangMing="."+url.Substring(url.LastIndexOf(".")+1);
string path = HttpContext.Current.Server.MapPath(@"/MLXZ/Uploads/Download/");
string filename=DateTime.Now.ToString("yyyyMMddHHmmss")+KuoZhangMing;
path=path+filename;
filepath=@"/MLXZ/Uploads/Download/"+filename;
WebClient myWebClient = new WebClient();
myWebClient.DownloadFile(url,path);
this.Editor1.Text=this.Editor1.XHTML.ToString().Replace(url,filepath);
}
Pic.Items.Add(new ListItem(filepath,filepath));
}