private static string UpdateFileData(int fileID, int folderID, int PortalId, string fileName, string extension, string contentType, long length, string folderName) { string retvalue = ""; try { CommonLibrary.Services.FileSystem.FileController objFileController = new CommonLibrary.Services.FileSystem.FileController(); int imageWidth = 0; int imageHeight = 0; if ((Globals.glbImageFileTypes + ",").IndexOf(extension.ToLower() + ",") > -1) { System.Drawing.Image imgImage = null; Stream imageStream = null; try { CommonLibrary.Services.FileSystem.FileInfo objFile = objFileController.GetFileById(fileID, PortalId); imageStream = GetFileStream(objFile); imgImage = System.Drawing.Image.FromStream(imageStream); imageHeight = imgImage.Height; imageWidth = imgImage.Width; } catch { contentType = "application/octet-stream"; } finally { if (imgImage != null) { imgImage.Dispose(); } if (imageStream != null) { imageStream.Close(); imageStream.Dispose(); } objFileController.UpdateFile(fileID, fileName, extension, length, imageWidth, imageHeight, contentType, folderName, folderID); } } } catch (Exception ex) { retvalue = ex.Message; } return retvalue; }
public static bool DownloadFile(int PortalId, int FileId, bool ClientCache, bool ForceDownload) { bool blnDownload = false; CommonLibrary.Services.FileSystem.FileController objFiles = new CommonLibrary.Services.FileSystem.FileController(); CommonLibrary.Services.FileSystem.FileInfo objFile = objFiles.GetFileById(FileId, PortalId); if (objFile != null) { string filename = objFile.FileName; if (HttpContext.Current.Request.UserAgent.IndexOf("; MSIE ") > 0) { filename = HttpUtility.UrlEncode(filename); } CommonLibrary.Services.FileSystem.FolderController objFolders = new CommonLibrary.Services.FileSystem.FolderController(); CommonLibrary.Services.FileSystem.FolderInfo objFolder = objFolders.GetFolder(PortalId, objFile.Folder, false); if (FolderPermissionController.CanViewFolder(objFolder)) { bool blnFileExists = true; if (Host.EnableFileAutoSync) { string strFile = ""; switch (objFile.StorageLocation) { case (int)FolderController.StorageLocationTypes.InsecureFileSystem: strFile = objFile.PhysicalPath; break; case (int)FolderController.StorageLocationTypes.SecureFileSystem: strFile = objFile.PhysicalPath + Globals.glbProtectedExtension; break; } if (!String.IsNullOrEmpty(strFile)) { System.IO.FileInfo objFileInfo = new System.IO.FileInfo(strFile); if (objFileInfo.Exists) { if (objFile.Size != objFileInfo.Length) { objFile.Size = Convert.ToInt32(objFileInfo.Length); UpdateFileData(FileId, objFile.FolderId, PortalId, objFile.FileName, objFile.Extension, GetContentType(objFile.Extension), objFileInfo.Length, objFile.Folder); } } else { RemoveOrphanedFile(objFile, PortalId); blnFileExists = false; } } } if (blnFileExists) { int scriptTimeOut = HttpContext.Current.Server.ScriptTimeout; HttpContext.Current.Server.ScriptTimeout = int.MaxValue; HttpResponse objResponse = HttpContext.Current.Response; objResponse.ClearContent(); objResponse.ClearHeaders(); if (ForceDownload) { objResponse.AppendHeader("content-disposition", "attachment; filename=\"" + filename + "\""); } else { objResponse.AppendHeader("content-disposition", "inline; filename=\"" + filename + "\""); } objResponse.AppendHeader("Content-Length", objFile.Size.ToString()); objResponse.ContentType = GetContentType(objFile.Extension.Replace(".", "")); System.IO.Stream objStream = null; try { objStream = FileSystemUtils.GetFileStream(objFile); WriteStream(objResponse, objStream); } catch (Exception ex) { objResponse.Write("Error : " + ex.Message); } finally { if (objStream != null) { objStream.Close(); objStream.Dispose(); } } objResponse.Flush(); objResponse.End(); HttpContext.Current.Server.ScriptTimeout = scriptTimeOut; blnDownload = true; } } } return blnDownload; }
public static string ImportUrl(int ModuleId, string url) { string strUrl = url; TabType urlType = GetURLType(url); int intId = -1; PortalSettings portalSettings = GetPortalSettings(); switch (urlType) { case TabType.File: if (Int32.TryParse(url.Replace("FileID=", ""), out intId)) { FileController objFileController = new FileController(); CommonLibrary.Services.FileSystem.FileInfo objFile = objFileController.GetFileById(intId, portalSettings.PortalId); if (objFile == null) { strUrl = ""; } } else { strUrl = ""; } break; case TabType.Member: if (Int32.TryParse(url.Replace("UserID=", ""), out intId)) { if (UserController.GetUserById(portalSettings.PortalId, intId) == null) { strUrl = ""; } } else { strUrl = ""; } break; case TabType.Tab: if (Int32.TryParse(url, out intId)) { TabController objTabController = new TabController(); if (objTabController.GetTab(intId, portalSettings.PortalId, false) == null) { strUrl = ""; } } else { strUrl = ""; } break; } return strUrl; }