首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

java FCKEditor 多用户下传

2013-02-24 
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
  1. <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
  1. public?class?UserPathBuilderImpl?implements?UserPathBuilder?{????
  2. ????//?虚拟目录设置??????//实际的路径??
  3. ????public?String?getUserFilesAbsolutePath(HttpServletRequest?request)?{????
  4. ??????????????????StringBuffer?userFilesPathBuffer?=?new?StringBuffer();??
  5. ??????????//?获得定义connector.userFilesPath的值??
  6. ????????String?path?=?PropertiesLoader.getProperty("connector.userFilesPath");??????????userFilesPathBuffer.append(path);??
  7. ????????userFilesPathBuffer.append("/");????
  8. ????????CurrentUser?user?=?(CurrentUser)?request.getSession().getAttribute(??????????????????"user");??
  9. ????????String?userPath?=?"userDefault";??????????if?(user?!=?null)?{??
  10. ????????????userPath?=?String.valueOf(user.getId());??????????}??
  11. ????????userFilesPathBuffer.append(userPath);????
  12. ????????return?userFilesPathBuffer.toString();??????}??
  13. ??????//?FCK目录设置??
  14. ????//读取的路径??????public?String?getUserFilesPath(HttpServletRequest?request)?{??
  15. ??????????StringBuffer?userFilesPathBuffer?=?new?StringBuffer();??
  16. ????????String?context?=?request.getContextPath();??????????userFilesPathBuffer.append(context);??
  17. ????????//?获得定义connector.userFilesPath的值??????????String?path?=?PropertiesLoader.getProperty("connector.userFilesPath");??
  18. ????????userFilesPathBuffer.append(path);??????????userFilesPathBuffer.append("/");??
  19. ??????????CurrentUser?user?=?(CurrentUser)?request.getSession().getAttribute(??
  20. ????????????????"user");??????????String?userPath?=?"userDefault";??
  21. ????????if?(user?!=?null)?{??????????????userPath?=?String.valueOf(user.getId());??
  22. ????????}??????????userFilesPathBuffer.append(userPath);??
  23. ??????????return?userFilesPathBuffer.toString();??
  24. ??????}??
  25. }??

?

二、修改你工工程src目录下fckeditor.properties这个文件

将connector.userActionImpl与connector.userPathBuilderImpl这个属性修改成你实现了这两个接口的全类名

?

[html] view plaincopy
  1. connector.userActionImpl=net.fckeditor.requestcycle.impl.EnabledUserAction??connector.userPathBuilderImpl=com.ids.project.knowledge.action.UserPathBuilderImpl??
  2. connector.userFilesPath?=/userfiles?

热点排行