public HttpResponseBase BannerImageEdit() { string json = string.Empty; BannerContent bc = new BannerContent(); Serial serial = new Serial(); _bcMgr = new BannerContentMgr(mySqlConnectionString); _ISerImplMgr = new SerialMgr(mySqlConnectionString); serial = _ISerImplMgr.GetSerialById(72); string path = Server.MapPath(xmlPath); SiteConfigMgr _siteConfigMgr = new SiteConfigMgr(path); SiteConfig extention_config = _siteConfigMgr.GetConfigByName("PIC_Extention_Format"); SiteConfig minValue_config = _siteConfigMgr.GetConfigByName("PIC_Length_MinValue"); SiteConfig maxValue_config = _siteConfigMgr.GetConfigByName("PIC_Length_MaxValue"); SiteConfig admin_userName = _siteConfigMgr.GetConfigByName("ADMIN_USERNAME"); SiteConfig admin_passwd = _siteConfigMgr.GetConfigByName("ADMIN_PASSWD"); //擴展名、最小值、最大值 string extention = extention_config.Value == "" ? extention_config.DefaultValue : extention_config.Value; string minValue = minValue_config.Value == "" ? minValue_config.DefaultValue : minValue_config.Value; string maxValue = maxValue_config.Value == "" ? maxValue_config.DefaultValue : maxValue_config.Value; string localPromoPath = imgLocalServerPath + promoPath;//圖片存儲地址 /aimg.gigade100.com/ +/promotion/dev/ string NewName = string.Empty;//當前文件名 string fileExtention = string.Empty;//當前文件的擴展名 string NewFileName = string.Empty; FileManagement fileLoad = new FileManagement(); try { string oldImg = string.Empty; serial = _ISerImplMgr.GetSerialById(6); List<BannerContent> store = new List<BannerContent>(); if (!string.IsNullOrEmpty(Request.Params["banner_content_id"])) { int totalCount = 0; bc.IsPage = false; bc.banner_content_id = uint.Parse(Request.Params["banner_content_id"]); if (Request.Params["history"] == "1") { bc.banner_status = 3; } store = _bcMgr.GetList(bc, out totalCount); foreach (var item in store) { oldImg = item.banner_image; } } bc = new BannerContent(); bc.banner_title = Request.Params["banner_title"]; bc.banner_link_url = Request.Params["banner_link_url"]; if (!string.IsNullOrEmpty(Request.Params["banner_site_id"])) { bc.banner_site_id = uint.Parse(Request.Params["banner_site_id"]); } if (!string.IsNullOrEmpty(Request.Params["banner_link_mode"])) { bc.banner_link_mode = int.Parse(Request.Params["banner_link_mode"]); } if (!string.IsNullOrEmpty(Request.Params["banner_sort"])) { bc.banner_sort = uint.Parse(Request.Params["banner_sort"]); } if (!string.IsNullOrEmpty(Request.Params["banner_statuses"])) { bc.banner_status = uint.Parse(Request.Params["banner_statuses"]); } if (!string.IsNullOrEmpty(Request.Params["banner_start"])) { bc.banner_start = DateTime.Parse(DateTime.Parse(Request.Params["banner_start"]).ToString("yyyy-MM-dd") + " 00:00:00"); } if (!string.IsNullOrEmpty(Request.Params["banner_end"])) { bc.banner_end = DateTime.Parse(DateTime.Parse(Request.Params["banner_end"]).ToString("yyyy-MM-dd") + " 23:59:59"); } bc.banner_ipfrom = CommonFunction.GetClientIPNew(); if (bc.banner_ipfrom == "::1") { bc.banner_ipfrom = System.Net.Dns.GetHostAddresses(System.Net.Dns.GetHostName())[2].ToString(); } if (!string.IsNullOrEmpty(Request.Params["banner_content_id"]) && Request.Params["banner_image"] == oldImg) { bc.banner_image = oldImg; } if (Request.Files["banner_image"] != null && Request.Files["banner_image"].ContentLength > 0) { HttpPostedFileBase file = Request.Files["banner_image"]; if (file.ContentLength > int.Parse(minValue) * 1024 && file.ContentLength < int.Parse(maxValue) * 1024) { NewName = Path.GetFileName(file.FileName); bool result = false; string filename = NewName.Substring(0, NewName.LastIndexOf(".")); //獲得文件的後綴名 fileExtention = NewName.Substring(NewName.LastIndexOf(".")).ToLower(); //新的文件名是哈希字符串 BLL.gigade.Common.HashEncrypt hash = new BLL.gigade.Common.HashEncrypt(); NewFileName = hash.Md5Encrypt(filename, "32"); string firstFolder = NewFileName.Substring(0, 2) + "/"; string secondFolder = NewFileName.Substring(2, 2) + "/"; NewFileName = NewFileName + fileExtention; NewName = NewFileName; string ServerPath = string.Empty; string localPromoDirectory = Server.MapPath(localPromoPath); if (!System.IO.Directory.Exists(localPromoDirectory)) { System.IO.Directory.CreateDirectory(localPromoDirectory); } FTP ftp = new FTP(); string directorys = promoPath + firstFolder + secondFolder; ftp.MakeMultiDirectory(imgLocalPath+"/", directorys.Substring(1, directorys.Length - 2).Split('/'), ftpuser, ftppwd); //NewFileName = localPromoPath + NewFileName;//絕對路徑 ServerPath = Server.MapPath(localPromoPath + firstFolder + secondFolder); string ErrorMsg = string.Empty; //上傳 result = fileLoad.UpLoadFile(file, ServerPath, imgLocalPath + directorys + NewFileName, extention, int.Parse(maxValue), int.Parse(minValue), ref ErrorMsg, ftpuser, ftppwd); if (!result) { json = "{success:false,msg:'圖片上傳失敗!'}"; this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; } bc.banner_image = NewName; string oldImgPath = string.Empty; string ftppath = string.Empty; if (oldImg.Length >= 4) { oldImgPath = localPromoPath + oldImg.Substring(0, 2) + "/" + oldImg.Substring(2, 2) + "/" + oldImg; } if (System.IO.File.Exists(Server.MapPath(oldImgPath))) { ftppath=imgLocalPath + promoPath + oldImg.Substring(0, 2) + "/" + oldImg.Substring(2, 2) + "/"; System.IO.File.Delete(Server.MapPath(oldImgPath)); FTP ftp1 = new FTP(ftppath, ftpuser, ftppwd); List<string> tem = ftp1.GetFileList(); if (tem.Contains(oldImg)) { FTP ftps = new FTP(ftppath + oldImg, ftpuser, ftppwd); ftps.DeleteFile(ftppath + oldImg); } } } else { json = "{success:false,msg:'上傳圖片不能超過" + maxValue + "K'}"; this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; } } #region 新增 if (String.IsNullOrEmpty(Request.Params["banner_content_id"])) { bc.banner_content_id = uint.Parse((serial.Serial_Value + 1).ToString()); if (_bcMgr.Add(bc) > 0) { serial.Serial_Value = serial.Serial_Value + 1;/*所在操作表的列增加*/ _ISerImplMgr.Update(serial);/*修改所在的表的列對應的值*/ json = "{success:true,msg:\"" + "新增成功!" + "\"}"; } } #endregion #region 編輯 else { bc.banner_content_id = uint.Parse(Request.Params["banner_content_id"]); if (_bcMgr.Update(bc) > 0) { json = "{success:true,msg:\"" + "修改成功!" + "\"}"; } } #endregion } catch (Exception ex) { json = "{success:false,msg:\"" + "異常" + "\"}"; Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
public HttpResponseBase GetBannerImageList() { string json = string.Empty; List<BannerContent> store = new List<BannerContent>(); BannerContent bc = new BannerContent(); try { bc.Start = Convert.ToInt32(Request.Params["start"] ?? "0");//用於分頁的變量 bc.Limit = Convert.ToInt32(Request.Params["limit"] ?? "25");//用於分頁的變量 if (Request.Params["history"] == "1") { bc.banner_status = 3; } if (!string.IsNullOrEmpty(Request.Params["sid"])) { bc.banner_site_id = uint.Parse(Request.Params["sid"]); } _bcMgr = new BannerContentMgr(mySqlConnectionString); int totalCount = 0; store = _bcMgr.GetList(bc, out totalCount); foreach (var item in store) { if (item.banner_image.Length >= 4) { item.banner_image = imgServerPath + promoPath + item.banner_image.Substring(0, 2) + "/" + item.banner_image.Substring(2, 2) + "/" + item.banner_image; } } IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式 timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss "; json = "{success:true,totalCount:" + totalCount + ",data:" + JsonConvert.SerializeObject(store, Formatting.Indented, timeConverter) + "}";//返回json數據 } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }