ckfinder动态指定上传路径

默认情况下无法用代码修改config.ascx中的BaseUrl设置,因为其后端代码ConfigFile中并没有提供修改BaseUrl的方法,这里我借用了fckeditor以前的用法:利用session来动态处理

在config.ascx文件下增加一个函数,让其从session中取值

    public string DynamicBaseUrl
    {
        get
        {
            object _baseUrl = HttpContext.Current.Session["CKFinder:DynamicBaseUrl"];
            if (_baseUrl == null || string.IsNullOrEmpty(_baseUrl.ToString()))
            {
                _baseUrl = "/ckfinder/userfiles/";
            }
            this.BaseUrl = _baseUrl.ToString();
            return this.BaseUrl;
        }
    }

然后再把config.ascx中的BaseUrl改成下面这样

    BaseUrl = DynamicBaseUrl;

最后在嵌入ckFinder的页面中类似这样处理:

protected void Page_Load(object sender,eventargs e)

{

    session["CKFinder:DynamicBaseUrl"]="/upload/"

}

posted on 2013-08-30 16:12  浪月悠虫  阅读(291)  评论(0编辑  收藏  举报

导航