CuteEditor5.0实现分用户上传

来源:互联网 发布:就业与收入微观数据库 编辑:程序博客网 时间:2024/05/23 01:00
由于公司的需要分用户上传功能,刚开始接触CuteEditor觉得很头痛,在网上这方面资料很少很少,都只说可以实现但确都没有写下代码,后来自己看了看,发现在CuteEditor上传是通过配置文件进行的,我想如果给每个用户都写一个配置文件此问题不就解决了,然后就拿起家伙开始办事,发现还真行,呵呵,以下是实现代码!

CuteSoft_Client/CuteEditor/Configuration/Security是上文件的一些配置文件,其中包含了三个文件:Admin.config,Default.config,Guest.config配置文件里就是一些上传大小呀,上传路径等

修改一下<security name="ImageGalleryPath">~/uploads</security>就知道,上传就是根据这里来的

执行流程就是 给用户先创建一配置文件,然后在给他一上传图片的文件夹路径,在把控件指向该用户的配置文件就可以了,这样就实现了分用户上传的功能

    protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!IsPostBack)
        
{

           
/ /这里选择不同用户登录的用户名
            CreateDict(
"admin");

            
////根据用户读取配置文件
            Editor1.SecurityPolicyFile = "admin.config";
        }

    }



    
////创建配置文件及上传文件夹
    private void CreateDict(string strName)
    
{
        
if (!File.Exists(Server.MapPath("~/CuteSoft_Client/CuteEditor/Configuration/Security/" + strName + ".config")))
       
{
            
//复制一个原有的配置文件
            File.Copy(Server.MapPath("~/CuteSoft_Client/CuteEditor/Configuration/Security/admin.config"), Server.MapPath("~/CuteSoft_Client/CuteEditor/Configuration/Security/" + strName + ".config"));

            
//通过xml文档对象读取xml文件
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load(Server.MapPath(
"~/CuteSoft_Client/CuteEditor/Configuration/Security/" + strName + ".config"));

            
//查找结点
           XmlNodeList xmlList = xDoc.SelectSingleNode("configuration").SelectNodes("security");

            
//遍历结点
            foreach(XmlNode xNode in xmlList)
            
{
                
//转换成登录者的地址s
                switch (xNode.Attributes["name"].Value)
                
{
                    
case "ImageGalleryPath": xNode.InnerText = xNode.InnerText + "/" + strName; break;
                    
case "MediaGalleryPath": xNode.InnerText = xNode.InnerText + "/" + strName; break;
                    
case "FlashGalleryPath": xNode.InnerText = xNode.InnerText + "/" + strName; break;
                    
case "FilesGalleryPath": xNode.InnerText = xNode.InnerText + "/" + strName; break;
                }

            }


            
//保存变化设置
            xDoc.Save(Server.MapPath("~/CuteSoft_Client/CuteEditor/Configuration/Security/" + strName + ".config"));

            
//建立新目录
           if (!Directory.Exists(Server.MapPath("~/uploads/" + strName + "")))
                Directory.CreateDirectory(Server.MapPath(
"~/uploads/" + strName + ""));
       }

    }