/// <summary> /// Copies the file binary to the file system. /// </summary> /// <param name="fileId">MetaFile ID</param> /// <param name="name">Returning the metafile name</param> protected bool CopyToFileSystem(int fileId, ref string name) { // Copy the file from database to the file system MetaFileInfo mi = MetaFileInfoProvider.GetMetaFileInfo(fileId); if (mi != null) { name = mi.MetaFileName; // Ensure the physical file MetaFileInfoProvider.EnsurePhysicalFile(mi, SiteInfoProvider.GetSiteName(mi.MetaFileSiteID)); return(true); } return(false); }
/// <summary> /// Deletes the file binary from the database. /// </summary> /// <param name="fileId">MetaFile ID</param> /// <param name="name">Returning the metafile name</param> protected bool DeleteFromDatabase(int fileId, ref string name) { // Delete the file in database and ensure it in the file system MetaFileInfo mi = MetaFileInfoProvider.GetMetaFileInfo(fileId); if (mi != null) { name = mi.MetaFileName; MetaFileInfoProvider.EnsurePhysicalFile(mi, SiteInfoProvider.GetSiteName(mi.MetaFileSiteID)); // Clear the binary data mi.MetaFileBinary = null; mi.Generalized.UpdateData(); return(true); } return(false); }
/// <summary> /// Ensures the physical file. /// </summary> /// <param name="file">Output file</param> public bool EnsurePhysicalFile(CMSOutputMetaFile file) { if (file == null) { return(false); } // Try to link to file system if (String.IsNullOrEmpty(file.Watermark) && (file.MetaFile != null) && (file.MetaFile.MetaFileID > 0) && MetaFileInfoProvider.StoreFilesInFileSystem(file.SiteName)) { string filePath = MetaFileInfoProvider.EnsurePhysicalFile(file.MetaFile, file.SiteName); if (filePath != null) { if (file.Resized) { // If resized, ensure the thumbnail file if (MetaFileInfoProvider.GenerateThumbnails(file.SiteName)) { filePath = MetaFileInfoProvider.EnsureThumbnailFile(file.MetaFile, file.SiteName, Width, Height, MaxSideSize); if (filePath != null) { // Link to the physical file file.PhysicalFile = filePath; return(true); } } } else { // Link to the physical file file.PhysicalFile = filePath; return(false); } } } file.PhysicalFile = ""; return(false); }