示例#1
0
        public ActionResult PicDelete(long picID)
        {
            JsonResult result = new JsonResult {
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };

            try
            {
                //删除物理文件
                BannerPicture _PicModel = svc.SelectOrEmpty(new BannerPictureQuery()
                {
                    IDs = new long[] { picID }
                }).FirstOrDefault();
                _pictureService.Delete(_PicModel);

                //删除数据库记录
                svc.Delete(new BannerPicture()
                {
                    ID = picID
                });

                result.Data =
                    new
                {
                    Success = true
                };

                return(result);
            }
            catch (Exception e)
            {
                result.Data =
                    new
                {
                    Success = false,
                    Message = e.Message
                };

                return(result);
            }
        }
示例#2
0
        /// <summary>
        /// 获取待上传的图片列表信息
        /// </summary>
        /// <returns>待上传的图片列表</returns>
        private Collection <BannerPicture> GetUploadPictures(int picType)
        {
            Collection <BannerPicture> BannerPicCollection = new Collection <BannerPicture>();

            for (int i = 0; i < Request.Files.Count; i++)
            {
                var picFile = Request.Files[i];

                BannerPicture pic    = new BannerPicture();
                byte[]        buffer = new byte[picFile.ContentLength];
                picFile.InputStream.Read(buffer, 0, picFile.ContentLength);
                pic.Content     = buffer;
                pic.Name        = Path.GetFileName(picFile.FileName);
                pic.Path        = MakePath(picType);
                pic.MemorySize  = picFile.ContentLength;
                pic.Store       = GetStore();
                pic.StoreID     = OwnerID;
                pic.PictureType = picType;

                BannerPicCollection.Add(pic);
            }

            return(BannerPicCollection);
        }
示例#3
0
        /// <summary>
        /// 统一处理图片上传工作
        /// </summary>
        /// <param name="res">需要返回的操作结果</param>
        /// <param name="picType">带处理的图片类型</param>
        /// <returns>操作结果</returns>
        public JsonResult DoUpload(int picType)
        {
            JsonResult result = new JsonResult
            {
                JsonRequestBehavior = JsonRequestBehavior.AllowGet,
                ContentType         = "text/html"
            };

            try
            {
                var pics = GetUploadPictures(picType).ToArray();
                if (!pics.Any())
                {
                    result.Data =
                        new
                    {
                        success = false,
                        Message = "文件列表为空"
                    }
                }
                ;
                else
                {
                    List <BannerPicture> _List = new List <BannerPicture>();
                    foreach (var item in pics.ToList())
                    {
                        item.Name = DateTime.Now.ToString("yyMMdd_HHmmss_") + item.Name;

                        _pictureService.Create(item);

                        svc.Create(item);

                        var fullpath = Path.Combine(ftp, item.Path, item.Name);

                        BannerPicture _item = item;
                        _item.Path = fullpath;
                        _List.Add(_item);
                    }
                    //清空Content,否则反序列化时会因数据太大而失败
                    foreach (var item in _List)
                    {
                        item.Content = null;
                    }
                    result.Data =
                        new
                    {
                        success = true,
                        picList = _List
                    };
                }

                return(result);
            }
            catch (PicTypeException e)
            {
                //文件格式不正确,提示错误时,需还原成本地文件名称,去除区分同名文件所加上的时间戳字符串
                result.Data = new { success = false, Message = string.Format(PicTypeError, e.pic.Name.Substring(14)) };
                return(result);
            }
            catch (PicSizeException e)
            {
                //文件大小超出,提示错误时,需还原成本地文件名称,去除区分同名文件所加上的时间戳字符串
                result.Data = new { success = false, Message = string.Format(PicSizeError, e.pic.Name.Substring(14)) };
                return(result);
            }
            catch (Exception e)
            {
                result.Data = new { success = false, Message = e.Message };
                return(result);
            }
        }