/// <summary> /// 获取当前空间的值 /// </summary> /// <returns></returns> public String GetValue() { if (!String.IsNullOrEmpty(FieldItem.ListContent)) { String defaultType = WebHelper.leftx(FieldItem.ListContent, 1).ToUpper(); if (!String.IsNullOrEmpty(defaultType)) { //ShowHideControl(defaultType); } } String UrlLink = String.Empty; if (WebHelper.GetIntParam(Request, rblUrlLink.UniqueID, 1) == (Int32)EnumUrlControls.Page || ShowDefault == "P") { UrlLink = String.Format("TabID={0}", WebHelper.GetStringParam(Request, ddlUrlLink.UniqueID, "")); } else if (WebHelper.GetIntParam(Request, rblUrlLink.UniqueID, 1) == (Int32)EnumUrlControls.Files || ShowDefault == "F") { UrlLink = WebHelper.GetStringParam(Request, hfUrlLink.UniqueID, ""); } else { UrlLink = WebHelper.GetStringParam(Request, txtUrlLink.UniqueID, ""); } return(UrlLink); }
private void SetValues(DNNGo_DNNGalleryPro_Files PhotoItem, int fileLength, PortalSettings ps, String ModulePath) { name = WebHelper.leftx(PhotoItem.Name, 35, "..."); type = "image/png"; size = PhotoItem.FileSize * 1024; progress = "1.0"; url = ViewPicture(PhotoItem, ps, ModulePath); thumbnail_url = GetPhotoExtension(PhotoItem.FileExtension, PhotoItem.FilePath, ps, ModulePath); delete_url = String.Format("{2}Resource_jQueryFileUpload.ashx?ID={0}&type=DELETE&{1}", PhotoItem.ID, WebHelper.GetScriptNameQueryString, ModulePath); delete_type = "POST"; }
public Int32 SynchronizeAllFiles(System.IO.FileInfo SynchronizeFile) { Int32 SynchronizeFileCount = 0; DNNGo_DNNGalleryPro_Files PhotoItem = new DNNGo_DNNGalleryPro_Files(); PhotoItem.ModuleId = ModuleId; PhotoItem.PortalId = PortalId; PhotoItem.FileName = SynchronizeFile.Name; PhotoItem.FileSize = Convert.ToInt32(SynchronizeFile.Length / 1024); PhotoItem.FileMate = WebHelper.leftx(FileSystemUtils.GetContentType(Path.GetExtension(PhotoItem.FileName).Replace(".", "")), 30); PhotoItem.FileExtension = System.IO.Path.GetExtension(PhotoItem.FileName).Replace(".", ""); PhotoItem.Name = System.IO.Path.GetFileName(PhotoItem.FileName).Replace(Path.GetExtension(PhotoItem.FileName), ""); PhotoItem.Status = (Int32)EnumFileStatus.Approved; try { if (("png,gif,jpg,jpeg,bmp").IndexOf(PhotoItem.FileExtension) >= 0) { //图片的流 System.Drawing.Image image = System.Drawing.Image.FromFile(SynchronizeFile.FullName); PhotoItem.ImageWidth = image.Width; PhotoItem.ImageHeight = image.Height; PhotoItem.Exif = Common.Serialize <EXIFMetaData.Metadata>(new EXIFMetaData().GetEXIFMetaData(image)); } } catch { } PhotoItem.LastTime = xUserTime.UtcTime(); PhotoItem.LastIP = WebHelper.UserHost; PhotoItem.LastUser = UserInfo.UserID; //将文件存储的路径整理好 String fileName = FileSystemUtils.HandleFileName(PhotoItem.Name); //文件名称 String WebPath = String.Format("DNNGalleryPro/uploads/{0}/{1}/{2}/", PhotoItem.LastTime.Year, PhotoItem.LastTime.Month, PhotoItem.LastTime.Day); //检测文件存储路径是否有相关的文件 System.IO.FileInfo fInfo = new System.IO.FileInfo(HttpContext.Current.Server.MapPath(String.Format("{0}{1}{2}.{3}", PortalSettings.HomeDirectory, WebPath, fileName, PhotoItem.FileExtension))); //检测文件夹是否存在 if (!System.IO.Directory.Exists(fInfo.Directory.FullName)) { System.IO.Directory.CreateDirectory(fInfo.Directory.FullName); } else { Int32 j = 1; while (fInfo.Exists) { //文件已经存在了 fileName = String.Format("{0}_{1}", FileSystemUtils.HandleFileName(PhotoItem.Name), j); fInfo = new System.IO.FileInfo(HttpContext.Current.Server.MapPath(String.Format("{0}{1}{2}.{3}", PortalSettings.HomeDirectory, WebPath, fileName, PhotoItem.FileExtension))); j++; } } PhotoItem.FilePath = String.Format("{0}{1}.{2}", WebPath, fileName, PhotoItem.FileExtension); PhotoItem.FileName = String.Format("{0}.{1}", fileName, PhotoItem.FileExtension); try { if (!fInfo.Directory.Exists) { fInfo.Directory.Create(); } //异步移动文件到文件夹中 List <String> SynchronizeFileQueue = new List <string>(); SynchronizeFileQueue.Add(SynchronizeFile.FullName); SynchronizeFileQueue.Add(fInfo.FullName); ManagedThreadPool.QueueUserWorkItem(new WaitCallback(ThreadMoveTo), SynchronizeFileQueue); } catch (Exception ex) { } //给上传的相片设置初始的顺序 QueryParam qp = new QueryParam(); qp.ReturnFields = qp.Orderfld = DNNGo_DNNGalleryPro_Files._.Sort; qp.OrderType = 1; qp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Files._.PortalId, PhotoItem.PortalId, SearchType.Equal)); PhotoItem.Sort = Convert.ToInt32(DNNGo_DNNGalleryPro_Files.FindScalar(qp)) + 2; Int32 PhotoId = PhotoItem.Insert(); if (PhotoId > 0) { SynchronizeFileCount++; } return(SynchronizeFileCount); }
/// <summary> /// 显示内容并截取数据 /// </summary> /// <param name="FieldName">字段名</param> /// <param name="DataItem">数据项</param> /// <param name="Lenght">显示长度</param> /// <param name="Suffix">终止符号</param> /// <returns></returns> public String ViewContent(String FieldName, DNNGo_DNNGalleryPro_Slider DataItem, Int32 Lenght, String Suffix) { String Content = ViewContent(FieldName, DataItem);//先取内容 return(WebHelper.leftx(Content, Lenght, Suffix)); }
/// <Description> /// 绑定页面项 /// </Description> private void BindPageItem() { //链接 String Element_UrlLink = FieldItem != null ? FieldItem.DefaultValue : String.Empty; //imgUrlLink.Attributes.Add("onError", String.Format("this.src='{0}Resource/images/1-1.png'", ModulePath)); WebHelper.BindList <TabInfo>(ddlUrlLink, TabController.GetPortalTabs(Settings_PortalID, Null.NullInteger, true, true, false, false), "IndentedTabName", "TabId"); List <EnumEntity> EnumList = EnumHelper.GetEnumList(typeof(EnumUrlControls)); //设置和选择哪些类型可以显示出来 if (!String.IsNullOrEmpty(FieldItem.ListContent)) { if (!FindUrlType(FieldItem.ListContent, "U")) { EnumList.RemoveAll(r => r.Value == 1); } if (!FindUrlType(FieldItem.ListContent, "P")) { EnumList.RemoveAll(r => r.Value == 2); } if (!FindUrlType(FieldItem.ListContent, "F")) { EnumList.RemoveAll(r => r.Value == 3); } if (EnumList.Count == 1) { rblUrlLink.Visible = false; } WebHelper.BindList <EnumEntity>(rblUrlLink, EnumList, "Text", "Value"); String defaultType = WebHelper.leftx(FieldItem.ListContent, 1).ToUpper(); if (!String.IsNullOrEmpty(defaultType)) { ShowHideControl(defaultType); } } else { WebHelper.BindList <EnumEntity>(rblUrlLink, EnumList, "Text", "Value"); ShowHideControl("U"); } if (!String.IsNullOrEmpty(Element_UrlLink) && Element_UrlLink.IndexOf("TabID=", StringComparison.CurrentCultureIgnoreCase) == 0) { WebHelper.SelectedListByValue(ddlUrlLink, Element_UrlLink.Replace("TabID=", "")); //WebHelper.SelectedListByValue(rblUrlLink, (Int32)EnumUrlControls.Page); //txtUrlLink.Attributes.Add("style", "display:none"); //panUrlLink.Attributes.Add("style", "display:none"); ShowHideControl("P"); } else if (!String.IsNullOrEmpty(Element_UrlLink) && Element_UrlLink.IndexOf("MediaID=", StringComparison.CurrentCultureIgnoreCase) == 0) { TemplateFormat xf = new TemplateFormat(this); hfUrlLink.Value = Element_UrlLink; //imgUrlLink.ImageUrl = xf.ViewLinkUrl(Element_UrlLink); div_Image.Attributes.Add("data-MediaID", Element_UrlLink); ShowHideControl("F"); //hlRemoveUrlLink.Attributes.Add("style", "display:;"); //WebHelper.SelectedListByValue(rblUrlLink, (Int32)EnumUrlControls.Files); //txtUrlLink.Attributes.Add("style", "display:none"); //ddlUrlLink.Attributes.Add("style", "display:none"); } else { if (!String.IsNullOrEmpty(Element_UrlLink)) { if (Element_UrlLink.IndexOf("FileID=", StringComparison.CurrentCultureIgnoreCase) == 0) { int FileID = 0; if (int.TryParse(Element_UrlLink.Replace("FileID=", ""), out FileID) && FileID > 0) { var fi = FileManager.Instance.GetFile(FileID); if (fi != null && fi.FileId > 0) { txtUrlLink.Text = string.Format("{0}{1}{2}", PortalSettings.HomeDirectory, fi.Folder, Server.UrlPathEncode(fi.FileName)); } } } else { txtUrlLink.Text = Element_UrlLink; } ShowHideControl("U"); } //WebHelper.SelectedListByValue(rblUrlLink, (Int32)EnumUrlControls.Url); //ddlUrlLink.Attributes.Add("style", "display:none"); //panUrlLink.Attributes.Add("style", "display:none"); } }
// Upload entire file private void UploadWholeFile(HttpContext context, List <Resource_FilesStatus> statuses) { for (int i = 0; i < context.Request.Files.Count; i++) { var file = context.Request.Files[i]; if (file != null && !String.IsNullOrEmpty(file.FileName) && file.ContentLength > 0) { //验证后缀名是否符合 bool Valid = FileSystemUtils.CheckValidFileName(file.FileName); if (Valid) { DNNGo_DNNGalleryPro_Files PhotoItem = new DNNGo_DNNGalleryPro_Files(); PhotoItem.ModuleId = WebHelper.GetIntParam(context.Request, "ModuleId", 0); PhotoItem.PortalId = WebHelper.GetIntParam(context.Request, "PortalId", 0); PhotoItem.FileName = file.FileName; PhotoItem.FileSize = file.ContentLength / 1024; PhotoItem.FileMate = WebHelper.leftx(FileSystemUtils.GetContentType(Path.GetExtension(PhotoItem.FileName).Replace(".", "")), 30); PhotoItem.FileExtension = System.IO.Path.GetExtension(PhotoItem.FileName).Replace(".", ""); PhotoItem.Name = System.IO.Path.GetFileName(file.FileName).Replace(Path.GetExtension(PhotoItem.FileName), ""); PhotoItem.Status = (Int32)EnumFileStatus.Approved; try { if (("png,gif,jpg,jpeg,bmp").IndexOf(PhotoItem.FileExtension) >= 0) { //图片的流 Image image = Image.FromStream(file.InputStream); PhotoItem.ImageWidth = image.Width; PhotoItem.ImageHeight = image.Height; PhotoItem.Exif = Common.Serialize <EXIFMetaData.Metadata>(new EXIFMetaData().GetEXIFMetaData(image)); } } catch { } PhotoItem.LastTime = xUserTime.UtcTime(); PhotoItem.LastIP = WebHelper.UserHost; PhotoItem.LastUser = UserInfo.UserID; //将文件存储的路径整理好 String fileName = FileSystemUtils.HandleFileName(System.IO.Path.GetFileName(file.FileName).Replace("." + PhotoItem.FileExtension, "")); //文件名称 String WebPath = String.Format("DNNGalleryPro/uploads/{0}/{1}/{2}/", PhotoItem.LastTime.Year, PhotoItem.LastTime.Month, PhotoItem.LastTime.Day); //检测文件存储路径是否有相关的文件 System.IO.FileInfo fInfo = new System.IO.FileInfo(HttpContext.Current.Server.MapPath(String.Format("{0}{1}{2}.{3}", PortalSettings.HomeDirectory, WebPath, fileName, PhotoItem.FileExtension))); //检测文件夹是否存在 if (!System.IO.Directory.Exists(fInfo.Directory.FullName)) { System.IO.Directory.CreateDirectory(fInfo.Directory.FullName); } else { Int32 j = 1; while (fInfo.Exists) { //文件已经存在了 fileName = String.Format("{0}_{1}", FileSystemUtils.HandleFileName(PhotoItem.Name), j); fInfo = new System.IO.FileInfo(HttpContext.Current.Server.MapPath(String.Format("{0}{1}{2}.{3}", PortalSettings.HomeDirectory, WebPath, fileName, PhotoItem.FileExtension))); j++; } } PhotoItem.FilePath = String.Format("{0}{1}.{2}", WebPath, fileName, PhotoItem.FileExtension); PhotoItem.FileName = String.Format("{0}.{1}", fileName, PhotoItem.FileExtension); try { if (!fInfo.Directory.Exists) { fInfo.Directory.Create(); // FileSystemUtils.AddFolder(PortalSettings, String.Format("{0}DNNGo_PhotoAlbums/{0}/{1}/"), String.Format("{0}DNNGo_PhotoAlbums/{0}/{1}/"), (int)DotNetNuke.Services.FileSystem.FolderController.StorageLocationTypes.InsecureFileSystem); } //构造指定存储路径 //file.SaveAs(fInfo.FullName); ChangeImageSize(file, fInfo.FullName); //FileSystemUtils.AddFile(PhotoItem.FileName, PhotoItem.PortalId, String.Format("DNNGo_PhotoAlbums\\{0}\\{1}\\", PhotoItem.ModuleId, PhotoItem.AlbumID), PortalSettings.HomeDirectoryMapPath, PhotoItem.FileMeta); } catch (Exception ex) { } //给上传的相片设置初始的顺序 QueryParam qp = new QueryParam(); qp.ReturnFields = qp.Orderfld = DNNGo_DNNGalleryPro_Files._.Sort; qp.OrderType = 1; qp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Files._.PortalId, PhotoItem.PortalId, SearchType.Equal)); PhotoItem.Sort = Convert.ToInt32(DNNGo_DNNGalleryPro_Files.FindScalar(qp)) + 2; Int32 PhotoId = PhotoItem.Insert(); statuses.Add(new Resource_FilesStatus(PhotoItem, PortalSettings, ModulePath)); } else { throw new HttpRequestValidationException("Following file was imported/uploaded, but is not an authorized filetype: " + file.FileName); } } } }
/// <summary> /// Layer列表的HTML生成 /// </summary> public void PushLayerListHtml() { Int32 SliderID = WebHelper.GetIntParam(Request, "SliderID", 0); if (SliderID > 0) { QueryParam qp = new QueryParam(); qp.Orderfld = DNNGo_DNNGalleryPro_Layer._.Sort; qp.OrderType = 0; qp.PageIndex = WebHelper.GetIntParam(Request, "PageIndex", 1); qp.PageSize = WebHelper.GetIntParam(Request, "PageSize", Int32.MaxValue); Int32 LayerID = WebHelper.GetIntParam(Request, "LayerID", 0); if (LayerID > 0) { qp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Layer._.ID, LayerID, SearchType.Equal)); } qp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Layer._.SliderID, SliderID, SearchType.Equal)); int RecordCount = 0; List <DNNGo_DNNGalleryPro_Layer> LayerList = DNNGo_DNNGalleryPro_Layer.FindAll(qp, out RecordCount); Dictionary <String, Object> jsonLayers = new Dictionary <string, Object>(); TemplateFormat xf = new TemplateFormat(); foreach (var LayerItem in LayerList) { int index = LayerList.IndexOf(LayerItem); //index 为索引值 Dictionary <String, Object> jsonLayer = new Dictionary <String, Object>(); jsonLayer.Add("ID", LayerItem.ID); jsonLayer.Add("Sort", LayerItem.Sort); jsonLayer.Add("CreateTime", LayerItem.CreateTime); jsonLayer.Add("Status", LayerItem.Status == 1 ? "checked=\"checked\"" : ""); jsonLayer.Add("Title", WebHelper.leftx(xf.ViewLayerSettingT <String>(LayerItem, "Title", ""), 30, "...")); String LayerType = xf.ViewLayerSettingT <String>(LayerItem, "LayerType", ""); jsonLayer.Add("LayerType", String.IsNullOrEmpty(LayerType) ? "Common" : LayerType); jsonLayer.Add("Edit", String.Format("{0}Resource_Item.aspx?ModuleId={1}&PortalId={2}&TabId={3}&SliderID={4}&LayerID={5}&LayerType={6}", ModulePath, ModuleId, PortalId, TabId, SliderID, LayerItem.ID, LayerType)); String Thumbnail = xf.ViewLayerSettingT <String>(LayerItem, "Thumbnail", ""); if (String.IsNullOrEmpty(Thumbnail)) { Thumbnail = xf.ViewLayerSettingT <String>(LayerItem, "Picture", ""); } if (!String.IsNullOrEmpty(Thumbnail)) { jsonLayer.Add("Thumbnail", String.Format("<img style=\"border-width:0px; max-height:60px;max-width:80px;\" src=\"{0}\" onError=\"this.src='{1}Resource/images/no_image.png'\" /> ", ViewLinkUrl(Thumbnail), ModulePath)); } else { jsonLayer.Add("Thumbnail", ""); } jsonLayers.Add((10000 - index).ToString(), jsonLayer); } //转换数据为json JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); Response.Clear(); Response.Write(jsSerializer.Serialize(jsonLayers)); Response.End(); } }
/// <summary> /// 推送图片列表数据 /// </summary> public void PushPictureList() { QueryParam qp = new QueryParam(); qp.Orderfld = DNNGo_DNNGalleryPro_Layer._.ID; qp.OrderType = 1; qp.PageIndex = WebHelper.GetIntParam(Request, "PageIndex", 1); qp.PageSize = WebHelper.GetIntParam(Request, "PageSize", Int32.MaxValue); qp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Files._.Status, (Int32)EnumStatus.Activated, SearchType.Equal)); qp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Files._.PortalId, PortalId, SearchType.Equal)); int RecordCount = 0; List <DNNGo_DNNGalleryPro_Files> fileList = DNNGo_DNNGalleryPro_Files.FindAll(qp, out RecordCount); Dictionary <String, Object> jsonLayers = new Dictionary <string, Object>(); TemplateFormat xf = new TemplateFormat(); JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); foreach (var fileItem in fileList) { int index = fileList.IndexOf(fileItem); //index 为索引值 Dictionary <String, Object> jsonLayer = new Dictionary <String, Object>(); jsonLayer.Add("Pages", qp.Pages); jsonLayer.Add("ID", fileItem.ID); jsonLayer.Add("CreateTime", fileItem.LastTime); jsonLayer.Add("Name", WebHelper.leftx(fileItem.Name, 20, "...")); jsonLayer.Add("FileName", fileItem.Name); jsonLayer.Add("Extension", fileItem.FileExtension); String ThumbnailUrl = ViewLinkUrl(String.Format("MediaID={0}", fileItem.ID)); jsonLayer.Add("ThumbnailUrl", ThumbnailUrl); jsonLayer.Add("FileUrl", GetPhotoPath(fileItem.FilePath)); jsonLayer.Add("Thumbnail", String.Format("<img style=\"border-width:0px; max-height:60px;max-width:80px;\" src=\"{0}\" /> ", ThumbnailUrl)); //判断当前文件是否为图片 if (!String.IsNullOrEmpty(fileItem.FileExtension) && ("gif,jpg,jpeg,bmp,png").IndexOf(fileItem.FileExtension, StringComparison.CurrentCultureIgnoreCase) >= 0) { jsonLayer.Add("IsPicture", true); } else { jsonLayer.Add("IsPicture", false); } jsonLayer.Add("Json", jsSerializer.Serialize(jsonLayer)); jsonLayers.Add(index.ToString(), jsonLayer); } //转换数据为json Response.Clear(); Response.Write(jsSerializer.Serialize(jsonLayers)); Response.End(); }