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/"
}