public ActionResult RunClearImage() { int _status = -1; string _msg = ""; try { //获取系统所有图片 var db_sys_all_iamges = new Pri_ArticleImage_Dal().GetAllPri_ArticleImage(); string cp_web_root = OctOceanGlobal.Config.FileRoot_Web_Image; if (Directory.Exists(cp_web_root)) { //获取所有的articlekey所在目录 string[] cp_all_web_article_diries = Directory.GetDirectories(cp_web_root); foreach (string cp_articlekey_dir in cp_all_web_article_diries) { string cp_articlekey = Path.GetFileNameWithoutExtension(cp_articlekey_dir + ".wy"); //获取ArticleKey的值 var _db_sys_article_images_where = db_sys_all_iamges.Where(a => a.ArticleKey == cp_articlekey); //判断该目录是否正在使用当中 var db_sys_article_images = _db_sys_article_images_where == null ? null : _db_sys_article_images_where.Select(b => b.ImgName).ToArray(); //如果在数据库中没有找到当前目录正在使用当中,就删除改目录 if (db_sys_article_images == null || db_sys_article_images.Length == 0) { Directory.Delete(cp_articlekey_dir, true); } else { //获取当前key下的所有图片 string[] cp_all_web_article_images = Directory.GetFiles(cp_articlekey_dir); foreach (string cp_img in cp_all_web_article_images) { //如果系统中没有使用该图片,就删除掉 if (!db_sys_article_images.Contains(Path.GetFileName(cp_img))) { System.IO.File.Delete(cp_img); } } } } } //清理缓存 if (Directory.Exists(OctOceanGlobal.Config.FileRoot_Cache_Image)) { Directory.Delete(OctOceanGlobal.Config.FileRoot_Cache_Image, true); } _status = 1; } catch (Exception ex) { _status = 4; _msg = ex.Message; } return(Json(new { status = _status, msg = _msg })); }
private void BindControll(string ArticleKey) { //获取文章分类 Base_ArticleCategory_Dal bacdal = new Base_ArticleCategory_Dal(); this.Base_ArticleCategoryddl = new SelectList(bacdal.GetAllArticleCategory(), "ArticleCategoryCode", "ArticleCategoryName", ""); //默认选择空值 Base_ArticleTag_Dal batdal = new Base_ArticleTag_Dal(); Base_ArticleTagList = batdal.GetAllArticleTag(); Pri_ArticleImage_Dal imgdal = new Pri_ArticleImage_Dal(); var allimagelist = imgdal.GetAllPri_ArticleImage(ArticleKey); if (allimagelist != null) { Pri_ArticleImageList = allimagelist.OrderBy(a => a.UpdateTime).ToList(); } }
public IActionResult OnGet() { ViewData["CurrentPage"] = "ICU"; if (!base.CheckLogin()) { return(Redirect("/login/index")); } //获取系统所有图片 var sys_all_iamges = new Pri_ArticleImage_Dal().GetAllPri_ArticleImage(); string web_root = OctOceanGlobal.Config.FileRoot_Web_Image; if (Directory.Exists(web_root)) { //获取所有的文章目录 string[] all_web_article_diries = Directory.GetDirectories(web_root); foreach (string articlekey_dir in all_web_article_diries) { string articlekey = Path.GetFileNameWithoutExtension(articlekey_dir + ".wy");//获取ArticleKey的值 //获取当前key下的所有图片 string[] all_web_article_images = Directory.GetFiles(articlekey_dir); //如果图片中存在一张没在使用的情况 dicClearImages[articlekey] = all_web_article_images.Select(c => Path.GetFileName(c)) .Where(a => sys_all_iamges.FirstOrDefault(b => b.ArticleKey == articlekey && b.ImgName == a) == null).ToArray(); } } BtnDisabled = dicClearImages.Values.Sum(a => a.Length) == 0; return(Page()); }