Esempio n. 1
0
        public ActionResult getImg(int id, int width = 0, int height = 0)
        {
            string pic = null;

            if (id > 0)
            {
                using (var manage = new Data.CMSManage())
                {
                    var galleryInfo = manage.getDetailGalleryInfo(id);
                    if (galleryInfo != null && galleryInfo.GalleryType == Entity.GalleryType.picture)
                    {
                        pic = galleryInfo.Path;
                        galleryInfo.HitsNum++;
                        manage.updateDetailGallery(galleryInfo);
                    }
                }
            }

            try
            {
                pic = cutImg(pic, null, width, height);
                if (string.IsNullOrEmpty(pic))
                {
                    pic = "/images/pic.png";
                }
                return(File(pic, Path.GetExtension(pic)));
            }
            catch (Exception)
            {
                return(File("/images/pic.png", ".png"));
            }
        }
Esempio n. 2
0
        public ActionResult getAttachment(int id)
        {
            var error   = Entity.Error.请求成功;
            var message = "";

            if (id > 0)
            {
                using (var manage = new Data.CMSManage())
                {
                    var galleryInfo = manage.getDetailGalleryInfo(id);
                    if (galleryInfo != null && galleryInfo.GalleryType == Entity.GalleryType.attachment && !string.IsNullOrEmpty(galleryInfo.Path))
                    {
                        if (galleryInfo.ReadPower >= 0)//下载权限
                        {
                            var readpower = galleryInfo.ReadPower;
                            if (readpower == 0)//继承
                            {
                                var detailinfo = manage.getDetailInfo(galleryInfo.DetailId);
                                if (detailinfo != null)
                                {
                                    readpower = detailinfo.ReadPower;
                                    if (readpower == 0)
                                    {
                                        readpower = manage.getItemReadPower(detailinfo.ItemId);
                                    }
                                }
                            }

                            if (readpower > 0)
                            {
                                if (this.userOnlineInfo.UserId <= 0)
                                {
                                    error   = Entity.Error.登录超时;
                                    message = "登录超时,无权下载";
                                }
                                else
                                {
                                    var roleinfo = manage.getRoleInfo(this.userOnlineInfo.UserInfo.RoleId);
                                    if (roleinfo == null && roleinfo.ReadPower < readpower)
                                    {
                                        error   = Entity.Error.无查看权限;
                                        message = "会员级别过低,无权下载!";
                                    }
                                }
                            }
                        }
                        if (error == Entity.Error.请求成功)
                        {
                            var path = galleryInfo.Path.ToLower();
                            if (path.StartsWith(this.config.SiteDomain))//去本地域名
                            {
                                path = path.Substring(this.config.SiteDomain.Length - 1);
                            }
                            var islocal = false;
                            if (path.StartsWith(this.config.SitePath))
                            {
                                if (!Fetch.fileExist(Fetch.getMapPath(path)))
                                {
                                    error   = Entity.Error.错误;
                                    message = "文件不存在,下载失败!";
                                }
                                islocal = true;
                            }
                            if (error == Entity.Error.请求成功)
                            {
                                galleryInfo.HitsNum++;
                                manage.updateDetailGallery(galleryInfo);

                                if (islocal)
                                {
                                    return(File(path, Path.GetExtension(path), Path.GetFileName(path)));
                                }
                                else
                                {
                                    return(Redirect(path));
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                error   = Entity.Error.错误;
                message = "参数错误,下载失败!";
            }
            ViewBag.Title   = error.ToString();
            ViewBag.Message = message;
            return(PartialView("error"));
        }