/// <summary> /// 设置图片上传的控件 /// </summary> /// <param name="CName"></param> /// <param name="FontFileName"></param> /// <returns></returns> public String SetFileUpload(String CName, String FontFileName) { FileUpload fileup = this.FindControl(String.Format("file{0}", CName)) as FileUpload; if (fileup != null && fileup.HasFile) { //To verify that if the suffix name of the uploaded files meets the DNN HOST requirements bool Valid = FileSystemUtils.CheckValidFileName(fileup.FileName); if (Valid) { //存储图片并返回地址 String FontName = fileup.FileName.Replace(" ", "_"); String FontPath = MapPath(String.Format("{0}Fonts/{1}", SkinPath, FontName)); if (!new FileInfo(FontPath).Directory.Exists) { new FileInfo(FontPath).Directory.Create(); } try { fileup.SaveAs(FontPath); FontFileName = FontName; } catch { } } } else if (Request.Form[fileup.UniqueID] != null) { FontFileName = String.Empty; } return(FontFileName); }
/// <summary> /// 获取Form传值 /// </summary> /// <param name="fieldItem"></param> /// <returns></returns> public static String GetWebFormValue(SettingEntity fieldItem, BaseModule bpm) { String WebFormValue = String.Empty; //创建控件的Name和ID ControlHelper ControlItem = new ControlHelper(bpm.ModuleId); String ControlName = ControlItem.ViewControlName(fieldItem); String ControlID = ControlItem.ViewControlID(fieldItem); if (fieldItem.ControlType == EnumControlType.CheckBox.ToString()) { WebFormValue = WebHelper.GetStringParam(HttpContext.Current.Request, ControlName, ""); WebFormValue = !String.IsNullOrEmpty(WebFormValue) && WebFormValue == "on" ? "true" : "false"; } else if (fieldItem.ControlType == EnumControlType.FileUpload.ToString()) { HttpPostedFile hpFile = HttpContext.Current.Request.Files[ControlName]; if (hpFile != null && hpFile.ContentLength > 0) { //To verify that if the suffix name of the uploaded files meets the DNN HOST requirements bool retValue = FileSystemUtils.CheckValidFileName(hpFile.FileName); if (retValue) { WebFormValue = String.Format("{0}", FileSystemUtils.UploadFile(hpFile, bpm));//存放到目录中,并返回 } } else { WebFormValue = fieldItem.DefaultValue; } } else if (fieldItem.ControlType == EnumControlType.Urls.ToString()) { String ClientName = GetRichUrlsName(fieldItem); if (bpm.ModuleContext.Items.Contains(ClientName)) { WebFormValue = Convert.ToString(bpm.ModuleContext.Items[ClientName]); } } else if (fieldItem.ControlType == EnumControlType.Fonts.ToString()) { String ControlFontName = ControlItem.ViewControlName(new SettingEntity() { Name = String.Format("{0}Font", fieldItem.Name) }); String ControlBoldName = ControlItem.ViewControlName(new SettingEntity() { Name = String.Format("{0}Bold", fieldItem.Name) }); String ControlFontValue = WebHelper.GetStringParam(HttpContext.Current.Request, ControlFontName, ""); String ControlBoldValue = WebHelper.GetStringParam(HttpContext.Current.Request, ControlBoldName, ""); String FontFamily = String.Empty; if (bpm.FontDBs.Exists(r => r.PrimaryGuid == ControlFontValue)) { FontFamily = bpm.FontDBs.Find(r => r.PrimaryGuid == ControlFontValue).Family; } WebFormValue = String.Format("{0}:{1}:{2}", ControlFontValue, FontFamily, ControlBoldValue); } else { WebFormValue = WebHelper.GetStringParam(HttpContext.Current.Request, ControlName, ""); } return(WebFormValue); }
// 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) { //To verify that if the suffix name of the uploaded files meets the DNN HOST requirements bool Valid = FileSystemUtils.CheckValidFileName(file.FileName); if (Valid) { DNNGo_ThemePlugin_Multimedia PhotoItem = new DNNGo_ThemePlugin_Multimedia(); 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 = FileSystemUtils.GetContentType(Path.GetExtension(PhotoItem.FileName).Replace(".", "")); 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 = System.IO.Path.GetFileName(file.FileName).Replace("." + PhotoItem.FileExtension, ""); //文件名称 String WebPath = String.Format("ThemePlugin/uploads/{0}/{1}/{2}/", PhotoItem.LastTime.Year, PhotoItem.LastTime.Month, PhotoItem.LastTime.Day); //检测文件存储路径是否有相关的文件 FileInfo fInfo = new 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}", PhotoItem.Name, j); fInfo = new 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); //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_ThemePlugin_Multimedia._.Sort; qp.OrderType = 1; qp.Where.Add(new SearchParam(DNNGo_ThemePlugin_Multimedia._.PortalId, PhotoItem.PortalId, SearchType.Equal)); PhotoItem.Sort = Convert.ToInt32(DNNGo_ThemePlugin_Multimedia.FindScalar(qp)) + 2; Int32 PhotoId = PhotoItem.Insert(); statuses.Add(new Resource_FilesStatus(PhotoItem, PortalSettings, ModulePath)); } } } }