Exemplo n.º 1
0
        //对所有没有封面且有图片的活动,找到活动中第一张图,裁剪为270*200保存为封面,并保存到本地
        private void setActivityCover(VolunteerService myService)
        {
            IEnumerable <Activity> allActivities = myService.FindAllActivities("", "", false, 0, 0);

            foreach (Activity activity in allActivities)
            {
                if (activity.Cover == null)
                {
                    if (activity.Photos.Count > 0)
                    {
                        try
                        {
                            string firstPhotoPath = HttpContext.Current.Server.MapPath("~" + activity.Photos.FirstOrDefault());
                            Stream fileStream     = new FileStream(firstPhotoPath, FileMode.Open);
                            string imageName      = Guid.NewGuid().ToString();                       //生成图像名称
                            string path           = "/Static/Images/Activity/" + imageName + ".jpg"; //相对路径+图像名称+图像格式
                            string filePath       = HttpContext.Current.Server.MapPath("~" + path);  //绝对路径
                            activity.Cover = path;
                            //270*200
                            HandleImageService.CutForCustom(fileStream, filePath, 270, 200, 75);
                        }
                        catch
                        {
                            activity.Cover = "/Static/Images/Activity/default.jpg";
                        }
                        activity.Save();
                    }
                    else
                    {
                        activity.Cover = "/Static/Images/Activity/default.jpg";
                        activity.Save();
                    }
                }
            }
        }