版本信息:
ckeditor_4.0.1.1_full
ckfinder_java_2.3.1
多用户使用fckediter上传文件 图片等 4.0版本没有提供用户自定义上传路径接口类 所以需要对jar文件做小小的改动
1 查看类 就是ckeditor默认目录的路径类来看一下
getBaseUrl()就是获得配置文件config.xml中BaseUrl属性值的方法 config.xml 如下图
2 下面开始修改jar中的源码 源码路径ckfinder_java_2.3.1\ckfinder\_sources\CKFinder for Java\CKFinder\src\main\java\com\ckfinder\connector\configuration\ConfigurationPathBuilder.java
修改baseURL = conf.getBaseURL(); 为baseURL = conf.getBaseURL()+ request.getSession().getAttribute("user");//request.getSession().getAttribute("user")在调用fckediter的页面中要设置session的Attribute属性值 名称为user 当然你也可以用自己的名称 作用:当session中登录的用户传文件或者图片 会传到对应自己用户名称的路径下 就可以将多用户传的文件分开了 如下图:
3 编译类 然后替换CKFinder-2.3.1.jar中的ConfigurationPathBuilder.class文件
jsp页面中 session添加值如下
然后可以测试了 ^^ 通过fckediter上传图片 可以试试给session.setAttribute设置不同的user值 测试生成目录如下
如果是用户设置类似日程的文件路径 将baseURL = conf.getBaseURL()+ request.getSession().getAttribute("user");改成
Calendar
就可以了 这样就实现了上传文件按用户和时间进行分类