public ActionResult GetUserImages(int num, int p) { if (UserSession.CurrentUser == null) { return(Content("")); } IList <Inpinke_Image> list = DBImageBLL.GetUserImages(PageInfo, UserSession.CurrentUser.ID); if (list != null) { List <pagedata> photoList = new List <pagedata>(); foreach (Inpinke_Image i in list) { pagedata d = new pagedata() { id = i.ID, bigImg = "/userfile/" + UserSession.CurrentUser.ID + "/" + i.ImageName + "_edit.jpg", img = i.Path, title = string.IsNullOrEmpty(i.Remark) ? "" : i.Remark, }; string imgPath = Server.MapPath(d.img); d.img = "/userfile/" + UserSession.CurrentUser.ID + "/" + i.ImageName + "_view.jpg"; string vimgPath = Server.MapPath(d.img); if (!System.IO.File.Exists(imgPath)) { continue; } if (!System.IO.File.Exists(vimgPath)) { System.Drawing.Image originalImage = System.Drawing.Image.FromFile(imgPath); if (originalImage != null) { Bitmap bitmap = new Bitmap(originalImage); ImageProcessBLL.CreateStaticScaleImage(bitmap, 220, 1, 1000, vimgPath); } else { continue; } } photoList.Add(d); } System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(photoList.GetType()); using (MemoryStream ms = new MemoryStream()) { serializer.WriteObject(ms, photoList); return(Content(Encoding.UTF8.GetString(ms.ToArray()))); } } else { return(Content("")); } }
public ActionResult AjaxGetUserImageByID(int?imageid) { if (imageid.HasValue) { Inpinke_Image model = DBImageBLL.GetImageByID(imageid.Value); return(Content("{success:true,image:{id:" + model.ID + ",name:\"" + model.ImageName + "\",path:\"" + model.Path + "\"}}")); } else { return(Content("{success:false,msg:\"参数不正确\"}")); } }
public ActionResult AjaxGetBookImage(int userid, int bookid, int count, int skip) { int total = 0; IList <Inpinke_Book_Image> list = DBImageBLL.GetBookImages(skip, count, ref total, bookid); if (list != null) { StringBuilder sb = new StringBuilder(); sb.Append("{\"success\":true,\"images\":["); foreach (Inpinke_Book_Image i in list) { sb.Append("{" + string.Format("\"id\":{0},\"name\":\"{1}\",\"usednum\":{2}", i.ImageID, i.Inpinke_Image.ImageName, i.UsedNum) + "},"); } return(Content(sb.ToString().TrimEnd(',') + "]}")); } else { return(Content("{\"success\":false,\"msg\":\"暂无照片\"}")); } }
/// <summary> /// 删除用户图片 /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult DeleteUserImage(int id) { if (UserSession.CurrentUser == null) { return(Content("{\"success\":false,\"msg\":\"请重新登录\"}")); } Inpinke_Image model = DBImageBLL.GetImageByID(id); if (model.UserID != UserSession.CurrentUser.ID) { return(Content("{\"success\":false,\"msg\":\"请重新登录\"}")); } model.Status = (int)RecordStatus.Delete; BaseResponse br = DBImageBLL.DeleteUserImage(model); if (br.IsSuccess) { return(Content("{\"success\":true,id:" + model.ID + ",\"msg\":\"删除用户图片成功\"}")); } else { return(Content("{\"success\":false,\"msg\":\"" + br.Message + "\"}")); } }
/// <summary> /// 保存页面内容 /// </summary> /// <param name="bookid"></param> /// <param name="userid"></param> /// <param name="pagedata"></param> /// <returns></returns> public ActionResult SavePageData(int bookid, int userid, string pdata) { try { Inpinke_Book model = DBBookBLL.GetBookByID(bookid); PageDataObjs pageObjs = (PageDataObjs)JsonConvert.DeserializeObject(pdata, typeof(PageDataObjs)); if (pageObjs == null) { return(Content("{\"success\":false,\"msg\":\"保存失败,内容为空\"}")); } if (model.BookStauts == (int)BookStatus.Making) { return(Content("{\"success\":false,\"msg\":\"对不起当前印品已下单印制不能再编辑。\"}")); } string strReturn = "{\"success\":true,\"pviews\":["; string noneused = ""; string usedimgs = ""; List <int> noneUseImage = new List <int>(); List <int> usedimg = new List <int>(); foreach (PageDataObj pageObj in pageObjs.pdatas) { int pnum = pageObj.pagenum; Inpinke_Book_Page bookPage = DBBookBLL.GetBookPageByPNum(pnum, bookid); XElement root = new XElement("layout", new XAttribute("pnum", pnum), new XAttribute("styleid", pageObj.styleid), new XAttribute("isskip", pageObj.isskip), new XAttribute("opnum", pageObj.opagenum), new XAttribute("bgcolor", pageObj.bgcolor)); bool isCreate = false; if (bookPage == null) { bookPage = new Inpinke_Book_Page() { BookID = bookid, PageNum = pnum }; isCreate = true; } else { //原页面不是跨页,现在是跨页的,需要删除掉一个原页面 if (!bookPage.IsSkip && pageObj.isskip.ToLower() == "true" && pageObj.opagenum != "-1_0") { int opnum = int.Parse(pageObj.opagenum.Replace(pnum + "_", "")); Inpinke_Book_Page oBookPage = DBBookBLL.GetBookPageByPNum(opnum, bookid); if (oBookPage != null) { oBookPage.PageStatus = (int)PageStatus.Delete; DBBookBLL.UpdateBookPage(oBookPage); //修改页面图片使用次数 DBImageBLL.ChangeImageUsedNum(oBookPage.PageData, bookid, true, ref noneUseImage); } } //修改页面图片使用次数 DBImageBLL.ChangeImageUsedNum(bookPage.PageData, bookid, true, ref noneUseImage); } bookPage.IsSkip = pageObj.isskip.ToLower() == "false" ? false : true; //添加图片节点 foreach (PageImage image in pageObj.image) { XElement imageItem = new XElement("image"); PropertyInfo[] pis = image.GetType().GetProperties(); int urlIndex = image.src.ToLower().IndexOf("/userfile"); if (urlIndex > 0) { image.src = image.src.Substring(urlIndex); } foreach (PropertyInfo property in pis) { //设置节点属性 imageItem.SetAttributeValue(property.Name, property.GetValue(image, null)); } root.Add(imageItem); } //添加文字节点 foreach (PageText text in pageObj.text) { XElement textItem = new XElement("text"); PropertyInfo[] pis = text.GetType().GetProperties(); foreach (PropertyInfo property in pis) { //设置节点属性 textItem.SetAttributeValue(property.Name, property.GetValue(text, null)); } if (pageObj.pagenum == 0 && text.issingle == "true") { if (!string.IsNullOrEmpty(text.content) && text.conid == "txt_1") { model.BookName = text.content; } if (!string.IsNullOrEmpty(text.content) && text.conid == "txt_2") { model.SubBookName = text.content; } } root.Add(textItem); } bookPage.PageData = root; //修改页面图片使用次数 DBImageBLL.ChangeImageUsedNum(bookPage.PageData, bookid, false, ref usedimg); bool istxtO = false; //文字是否过多 if (isCreate) { int pID = DBBookBLL.GetMaxBookPageID() + 1; bookPage.PageImg = SavePageView(pageObj, userid, model, ref istxtO, pID); } else { bookPage.PageImg = SavePageView(pageObj, userid, model, ref istxtO, bookPage.ID); } strReturn += "{\"pnum\":" + pageObj.pagenum + ",\"src\":\"" + bookPage.PageImg + "\",\"isskip\":" + pageObj.isskip + ",\"istxtover\":" + istxtO.ToString().ToLower() + "},"; bookPage.PageStatus = (int)PageStatus.Normal; if (pageObj.pagenum == 0) { model.BookCover = "/UserFile/" + UserSession.CurrentUser.ID + "/" + bookid + "/cover200.jpg"; } if (isCreate) { DBBookBLL.AddBookPage(bookPage); //更新已完成的页数 DBBookBLL.UpdateDonePage(bookid); } else { DBBookBLL.UpdateBookPage(bookPage); } } noneused = string.Join(",", noneUseImage); usedimgs = string.Join(",", usedimg); strReturn = strReturn.TrimEnd(',') + "],\"noneusedimg\":[" + noneused + "],\"usedimg\":[" + usedimgs + "]}"; return(Content(strReturn)); } catch (Exception ex) { Logger.Error(string.Format("SavePageData BookID:{0},UserID:{1},Error:{2}", bookid, userid, ex.ToString())); return(Content("{\"success\":false,\"msg\":\"服务器异常保存失败,请稍后再试\"}")); } }
public ActionResult UploadFile() { HttpFileCollectionBase files = Request.Files; if (files.Count == 0) { Response.Write("请勿直接访问本文件"); Response.End(); return(Content("请勿直接访问本文件")); } string dName = "/UserFile"; string path = Server.MapPath(dName); string userid = Request.Form["userid"]; string bookid = Request.Form["bookid"]; try { // 只取第 1 个文件 HttpPostedFileBase file = files[0]; if (file != null && file.ContentLength > 0) { string fileName = Request.Form["fileName"]; string orgFileName = fileName ?? string.Empty; string[] fileNameInfo = fileName.Split('.'); string extendName = ".jpg"; if (fileNameInfo.Length > 1) { extendName = "." + fileNameInfo[fileNameInfo.Length - 1]; } int intRandom = (new Random()).Next(10000, 99999); string strTimeNow = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString(); fileName = strTimeNow + intRandom.ToString(); string theFileName = fileName; string vPath = dName + "/" + userid + "/OriginalImage/" + fileName + ".jpg"; if (!Directory.Exists(path + "/OriginalImage")) { Directory.CreateDirectory(path + "/" + userid + "/OriginalImage"); } string strOriginalUrl = path + "/" + userid + "/OriginalImage/" + fileName + extendName; file.SaveAs(strOriginalUrl); //string mad5String = MD5HashFile.GetMD5HashFromFile(strOriginalUrl); fileName = path + "/" + userid + "/" + fileName; System.Drawing.Image originalImage = System.Drawing.Image.FromFile(strOriginalUrl); Bitmap bitmap = new Bitmap(originalImage); IList <Inpinke_ImageScale> list = DBImageScaleBLL.GetAllImageScaleSize(); if (list != null) { foreach (Inpinke_ImageScale s in list) { if (s.GroupID == 1) { ImageProcessBLL.CreateStaticScaleImage(bitmap, s.Width, s.Height, 1000, fileName + s.PlusName + ".jpg"); } else { ImageProcessBLL.CreateScaleImage(bitmap, s.Width, s.Height, fileName + s.PlusName + ".jpg", s.IsScale); } } } else { ImageProcessBLL.CreateScaleImage(bitmap, 80, 80, fileName + "_thumb.jpg", false); ImageProcessBLL.CreateScaleImage(bitmap, 2400, 2400, fileName + "_print.jpg", true); ImageProcessBLL.CreateScaleImage(bitmap, 600, 600, fileName + "_edit.jpg", true); } originalImage.Dispose(); bitmap.Dispose(); Inpinke_Image model = new Inpinke_Image() { UserID = int.Parse(userid), Path = vPath, OriginalName = orgFileName.Length > 150 ? orgFileName.Substring(0, 150) : orgFileName, ImageName = theFileName, HashCode = MD5HashFile.GetMD5HashFromFile(strOriginalUrl), UsedNum = 0 }; BaseResponse br = DBImageBLL.AddUserImage(model); string result = string.Empty; if (br.IsSuccess) { if (!string.IsNullOrEmpty(bookid)) { Inpinke_Book_Image bImg = new Inpinke_Book_Image() { UsedNum = 0, ImageID = model.ID, BookID = int.Parse(bookid) }; DBImageBLL.AddBookImage(bImg); } result = "{success:true,image:{id:" + model.ID + ",name:\"" + model.ImageName + "\",path:\"" + model.Path + "\"}}"; } else { result = "{success:false,msg:\"" + br.Message + "\"}"; } return(Content(result)); } else { return(Content("{success:false,msg:\"上传内容为空\"}")); } } catch (Exception ex) { Logger.Error(string.Format("UploadFile UserID:{0}, Error{1}", userid, ex.ToString())); return(Content("{success:false,msg:\"上传出错,请稍后再试\"}")); } }
public ActionResult AjaxDeleteBookImage(int userid, int bookid, int imageid) { BaseResponse br = DBImageBLL.DeleteBookImage(userid, bookid, imageid); return(Content("{\"success\":" + br.IsSuccess.ToString().ToLower() + ",\"imageid\":" + imageid + ",\"msg\":\"" + br.Message + "\"}")); }