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); } }
/// <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); }
/// <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); } }