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 }));
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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());
        }