예제 #1
0
        private ForumFile SaveAttachment(ForumPost post, HtmlInputFile file)
        {
            ForumFile fFile = new ForumFile();
            if(file.PostedFile==null || file.PostedFile.FileName.Trim().Length==0 || file.PostedFile.ContentLength==0)
                return null;

            string sUpDir = Server.MapPath(UrlHelper.GetApplicationPath() + "/Modules/Forum/Attach/");
            string filename = file.PostedFile.FileName;

            if(!System.IO.Directory.Exists(sUpDir))
            {
                System.IO.Directory.CreateDirectory(sUpDir);
            }

            int pos = filename.LastIndexOfAny(new char[]{'/','\\'});
            if (pos >= 0)
                filename = filename.Substring(pos+1);

            string newfilename = String.Format("{0}{1}.{2}",sUpDir,post.Id,filename);
            file.PostedFile.SaveAs(newfilename);
            fFile.OrigFileName = filename;
            fFile.ForumFileName = newfilename;
            fFile.FileSize = file.PostedFile.ContentLength;
            fFile.ContentType = file.PostedFile.ContentType;

            try
            {
                base.ForumModule.SaveForumFile(fFile);
            }
            catch(Exception ex)
            {
                throw new Exception("Unable to save file",ex);
            }
            return fFile;
        }
예제 #2
0
 public virtual void SaveForumFile(ForumFile forumfile)
 {
     ISession session = this._sessionManager.OpenSession();
     NHibernate.ITransaction tx = session.BeginTransaction();
     try
     {
         session.SaveOrUpdate(forumfile);
         tx.Commit();
         session.Close();
     }
     catch (Exception ex)
     {
         tx.Rollback();
         throw new Exception("Unable to save Forum file", ex);
     }
 }