public void SavePhotoFromUrlTest() { string savePath="/ScenicImg"; string savePathPhy = @"e:\testDetailimgLocalizer\"; string savedFileName = "http://www.tourol.cn/Img/slide/2.png".GetHashCode().ToString(); ImageLocalizer localizer = new ImageLocalizer( "http://www.tourol.cn/Img/slide/2.png" ,savePathPhy , savePath ,savedFileName); string actual= localizer.SavePhotoFromUrl(); Assert.AreEqual(savePath+"/"+ savedFileName+".png", actual); FileInfo file = new FileInfo(savePathPhy + savedFileName + ".png"); Assert.IsTrue(file.Exists); Assert.IsTrue(file.LastAccessTime.AddSeconds(2) > DateTime.Now); }
/// <summary> /// 最终结果 /// </summary> /// <summary> /// 按照order,使用rule过滤. /// </summary> /// <param name="rawContent"></param> /// <returns></returns> public string FilterUsingRuleSet(ref string rawContent, bool returnJsonFormat) { string completeResult = string.Empty; Rules.Sort(SortCompare); foreach (BaseRule rule in Rules) { //通过规则过滤文本 string filtered = rule.FilterUsingRule(ref rawContent); //合并 completeResult += filtered; } //判断是否有替换文本 if (OldRegex.Count > 0) { for (int i = 0; i < OldRegex.Count; i++) { MatchCollection mc = Regex.Matches(completeResult, OldRegex[i],RegexOptions.Singleline); if (mc.Count > 0) { foreach (Match item in mc) { completeResult = completeResult.Replace(item.Value, NewRegex[i]); } } } } //是否返回json格式 if (returnJsonFormat) { completeResult = Code + ":\"" + completeResult + "\""; } if (NeedImageLocalizer) { string[] imageUrls = TextHelper.GetImageUrl(completeResult, ImageLocalizerType); foreach (string imageUrl in imageUrls) { ImageLocalizer localizer = new ImageLocalizer(imageUrl , ImagePath , VirtualPath , Math.Abs(imageUrl.GetHashCode()).ToString()); string newImagePath = localizer.SavePhotoFromUrl(); completeResult = completeResult.Replace(imageUrl, newImagePath); } //string[] temp=ImagePath.Split(new char[]{'\\'},StringSplitOptions.RemoveEmptyEntries); //ImagePath = string.Empty; //for (int i = 0; i < temp.Length-1; i++) //{ // ImagePath += temp[i] + "\\"; //} } return completeResult; }