java FCKEditor 多用户下传
java FCKEditor 多用户上传源:http://blog.csdn.net/flamezyg/article/details/6786782官网文档:http://ja
java FCKEditor 多用户上传
源:http://blog.csdn.net/flamezyg/article/details/6786782
官网文档:http://java.fckeditor.net/index.html
CKEditor 3开启文件上传功能(Servlet实现):http://blog.sina.com.cn/s/blog_3fed3a390100hwni.html
评:
[html] view plaincopy
- <span?style="font-family:?Arial,?Verdana,?sans-serif;?white-space:?normal;?background-color:?rgb(255,?255,?255);?">我所用的FCKEditor?是?fckeditor-java-demo-2.4.zip压缩包</span>??
源文件:fckeditor-java-2.4-src.zip
看了一下FCKEditor代码,FCKEditor 多用户上传路径实现其实非常简单。
一、实现net.fckeditor.requestcycle包下两个接口 ?UserPathBuilder
其中UserPathBuilder这个接口有这样个函数
public String getUserFilesPath(HttpServletRequest request)
是取自定义路径的
UserAction这个接口是验证用户是否有权浏览与上传。这个不多说,自己去实现。
?
[java] view plaincopy
- public?class?UserPathBuilderImpl?implements?UserPathBuilder?{????
- ????//?虚拟目录设置??????//实际的路径??
- ????public?String?getUserFilesAbsolutePath(HttpServletRequest?request)?{????
- ??????????????????StringBuffer?userFilesPathBuffer?=?new?StringBuffer();??
- ??????????//?获得定义connector.userFilesPath的值??
- ????????String?path?=?PropertiesLoader.getProperty("connector.userFilesPath");??????????userFilesPathBuffer.append(path);??
- ????????userFilesPathBuffer.append("/");????
- ????????CurrentUser?user?=?(CurrentUser)?request.getSession().getAttribute(??????????????????"user");??
- ????????String?userPath?=?"userDefault";??????????if?(user?!=?null)?{??
- ????????????userPath?=?String.valueOf(user.getId());??????????}??
- ????????userFilesPathBuffer.append(userPath);????
- ????????return?userFilesPathBuffer.toString();??????}??
- ??????//?FCK目录设置??
- ????//读取的路径??????public?String?getUserFilesPath(HttpServletRequest?request)?{??
- ??????????StringBuffer?userFilesPathBuffer?=?new?StringBuffer();??
- ????????String?context?=?request.getContextPath();??????????userFilesPathBuffer.append(context);??
- ????????//?获得定义connector.userFilesPath的值??????????String?path?=?PropertiesLoader.getProperty("connector.userFilesPath");??
- ????????userFilesPathBuffer.append(path);??????????userFilesPathBuffer.append("/");??
- ??????????CurrentUser?user?=?(CurrentUser)?request.getSession().getAttribute(??
- ????????????????"user");??????????String?userPath?=?"userDefault";??
- ????????if?(user?!=?null)?{??????????????userPath?=?String.valueOf(user.getId());??
- ????????}??????????userFilesPathBuffer.append(userPath);??
- ??????????return?userFilesPathBuffer.toString();??
- ??????}??
- }??
?
二、修改你工工程src目录下fckeditor.properties这个文件
将connector.userActionImpl与connector.userPathBuilderImpl这个属性修改成你实现了这两个接口的全类名
?
[html] view plaincopy
- connector.userActionImpl=net.fckeditor.requestcycle.impl.EnabledUserAction??connector.userPathBuilderImpl=com.ids.project.knowledge.action.UserPathBuilderImpl??
- connector.userFilesPath?=/userfiles?