本文是针对那些有fckeditor使用经验的人写的,写的不好还请指教!
最近一个javaee项目用到fckeditor作为HTML编辑器,允许用户上传图片到指定的服务器磁盘目录,图片统一由apache服务器来管理,仅仅将图片在apache服务器中对应的地址保存到数据库中。
在网上查了下关于fckeditor的配置和应用,发现都是将用户上传的图片保存到web应用的当前路径下,感觉很不爽,没办法自己查看了下fckeditor-java-2.4.1-bin.zip下的源代码,发现只有修改源代码才能满足我的需求......
修改代码之前还是先讲下apache服务器吧,前面讲了我需要将fckeditor中上传的图片交给apache来管理
1:首先去apache官方网站
http://www.apache.org上下载apache_2.2.11-win32-x86-openssl-0.9.8i.msi应用程序,安装到安装到电脑某个磁盘上,默认为C盘,例如我的安装在C:\Program Files\Apache Software Foundation下
2:打开C:\Program Files\Apache Software Foundation\Apache2.2\conf文件夹,找到httpd.conf文件,打开此文件,在文件最下面添加如下内容(D:/icis/icon/image/是我上传的图片所要放的位置):
<Directory "D:/icis/icon/image/">
AllowOverride None
Options all
Order allow,deny
Allow from all
</Directory>
alias /image/ "D:/icis/icon/image/"
3:启动apache服务器,在IE浏览器中输入 http://localhost/image/ 将成功看到所以图片的列表(前提是在D:/icis/icon/image/目录下已经有了图片,你可以先放几张到里面)
现在来讲fckeditor2.6的配置,在web工程中用过fckeditor的人都知道fckeditor有个配置文件fckeditor.properties,我的配置如下:
connector.userFilesPath=D:/icis/icon
connector.userActionImpl=net.fckeditor.requestcycle.impl.UserActionImpl
第一个配置是我上传的文件所在的目录,不使用fckeditor的默认目录,和apache配置的相对应,第二个就不用说了,用过的都知道.....
在javaee项目中使用fckeditor要在
web.xml中配置它的Servlet,配置如下:
<servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>net.fckeditor.connector.ConnectorServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Connector</servlet-name>
<url-pattern>/fckeditor/editor/filemanager/connectors/*</url-pattern>
</servlet-mapping>
是时候讲下fckeditor-java-2.4.1-bin.zip的源代码了,要将用户上传的文件保存到电脑的任意目录下,必须修改源代码了,主要是修改 net.fckeditor.connector下的ConnectorServlet.java文件。我主要修改的功能如下:
1:将用户上传的图片保存到D:/icis/icon/image文件夹下
2:上传的文件按照yyyyMMddHHmmss格式重命名,解决中文乱码的问题
3:控制上传的图片大小最大为2兆
上传的附件中第一个是我修改后的源代码,第二个是修改后打好的jar包,大家可以下载后看下