private string GetVideoThumbnail(int fileId) { string thumbnail = ""; if (Settings_Portal.General.FileStorage == LocalUtils.FileStorage_Local) { FileController ctlFile = new FileController(); DotNetNuke.Services.FileSystem.FileInfo objFile = new DotNetNuke.Services.FileSystem.FileInfo(); DotNetNuke.Entities.Portals.PortalController ctlPortal = new DotNetNuke.Entities.Portals.PortalController(); DotNetNuke.Entities.Portals.PortalInfo pi = ctlPortal.GetPortal(PortalId); objFile = ctlFile.GetFileById(fileId, PortalId); if (objFile != null && File.Exists(objFile.PhysicalPath)) { System.IO.FileInfo objPhysical = new System.IO.FileInfo(objFile.PhysicalPath); if (File.Exists(objPhysical.DirectoryName + "\\" + "thumb_" + objPhysical.Name.Replace(objPhysical.Extension, ".jpg")))//Find if exist thumbnail image { thumbnail = DotNetNuke.Common.Globals.ApplicationPath + "/" + pi.HomeDirectory + "/" + objFile.Folder + "thumb_" + objFile.FileName.Replace(objPhysical.Extension, ".jpg"); return thumbnail; } if (File.Exists(objPhysical.DirectoryName + "\\" + objPhysical.Name.Replace(objPhysical.Extension, ".jpg")))//Find if exist same name image { thumbnail = DotNetNuke.Common.Globals.ApplicationPath + "/" + pi.HomeDirectory + "/" + objFile.Folder + objFile.FileName.Replace(objPhysical.Extension, ".jpg"); return thumbnail; } if (Settings_Portal.Video.VideoConvert && Settings_Portal.Video.PassPermissionCheck)// 如果同名的jpg文件不存在,则试图生成一个 { Cross.DNN.Common.VideoManage.VideoManageOption option = new Cross.DNN.Common.VideoManage.VideoManageOption(); option.General.FFMPEGPath = VideoConvert_ExecuteFolder + "\\ffmpeg\\ffmpeg.exe"; option.General.FLVToolPath = VideoConvert_ExecuteFolder + "\\ffmpeg\\flvtool2.exe"; option.General.MencoderPath = VideoConvert_ExecuteFolder + "\\mencoder\\mencoder.exe"; option.General.MencoderDirectory = VideoConvert_ExecuteFolder + "\\mencoder"; option.General.InputPath = objPhysical.Directory.FullName; option.General.OutputPath = objPhysical.Directory.FullName; option.Video.ExitProcess = Settings_Portal.Video.ProcessExitTime; option.General.FileName = objPhysical.Name; Cross.DNN.Common.VideoManage.VideoController ctlVideo = new Cross.DNN.Common.VideoManage.VideoController(option); if (File.Exists(option.General.FFMPEGPath))//First we need check if execute package available { ctlVideo.CaptureSingleImage(); thumbnail = DotNetNuke.Common.Globals.ApplicationPath + "/" + pi.HomeDirectory + "/" + objFile.Folder + objFile.FileName.Replace(objPhysical.Extension, ".jpg"); return thumbnail; } } } } if (Settings_Portal.General.FileStorage == LocalUtils.FileStorage_A3) { A3FileInfo objA3File = A3FileController.Get(fileId); if (objA3File != null) { if (A3FileController.GetByA3Key(GetA3FilePrefix(objA3File.FolderId) + "thumb_" + objA3File.FileName.Replace(objA3File.Extension, ".jpg")) != null) { thumbnail = A3FileController.GetByA3Key(GetA3FilePrefix(objA3File.FolderId) + "thumb_" + objA3File.FileName.Replace(objA3File.Extension, ".jpg")).A3Url; } else { if (A3FileController.GetByA3Key(GetA3FilePrefix(objA3File.FolderId) + objA3File.FileName.Replace(objA3File.Extension, ".jpg")) != null) { thumbnail = A3FileController.GetByA3Key(GetA3FilePrefix(objA3File.FolderId) + objA3File.FileName.Replace(objA3File.Extension, ".jpg")).A3Url; } } } } return thumbnail; }
private string GetVideoDuration(int fileId) { string duration = ""; if (Settings_Portal.General.FileStorage == LocalUtils.FileStorage_Local) { FileController ctlFile = new FileController(); DotNetNuke.Services.FileSystem.FileInfo objFile = new DotNetNuke.Services.FileSystem.FileInfo(); DotNetNuke.Entities.Portals.PortalController ctlPortal = new DotNetNuke.Entities.Portals.PortalController(); DotNetNuke.Entities.Portals.PortalInfo pi = ctlPortal.GetPortal(PortalId); objFile = ctlFile.GetFileById(fileId, PortalId); if (objFile != null && System.IO.File.Exists(objFile.PhysicalPath)) { System.IO.FileInfo objPhysical = new System.IO.FileInfo(objFile.PhysicalPath); if (Settings_Portal.Video.VideoConvert && Settings_Portal.Video.PassPermissionCheck) { Cross.DNN.Common.VideoManage.VideoManageOption option = new Cross.DNN.Common.VideoManage.VideoManageOption(); option.General.FFMPEGPath = VideoConvert_ExecuteFolder + "\\ffmpeg\\ffmpeg.exe"; option.General.FLVToolPath = VideoConvert_ExecuteFolder + "\\ffmpeg\\flvtool2.exe"; option.General.MencoderPath = VideoConvert_ExecuteFolder + "\\mencoder\\mencoder.exe"; option.General.MencoderDirectory = VideoConvert_ExecuteFolder + "\\mencoder"; option.General.InputPath = objPhysical.Directory.FullName; option.General.OutputPath = objPhysical.Directory.FullName; option.Video.ExitProcess = Settings_Portal.Video.ProcessExitTime; option.General.FileName = objPhysical.Name; Cross.DNN.Common.VideoManage.VideoController ctlVideo = new Cross.DNN.Common.VideoManage.VideoController(option); duration = ctlVideo.Get_Info().Duration; } } } if (Settings_Portal.General.FileStorage == LocalUtils.FileStorage_A3) { A3FileInfo objA3File = A3FileController.Get(fileId); if (objA3File != null) { duration = objA3File.Duration; } } return duration.Trim(); }