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;
 }
Пример #3
0
 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;
 }