`

整合CKEditor和CKFinder(for java)

 
阅读更多

https://cksource.com/ckfinder/download

 

下载地址 CKEditor 
我下载的版本ckfinder_java_2.4 
解压之后,会看到一个CKFinderJava-2.4.war文件,直接放到Tomcat/webapps发布目录下,把服务打开就自动解压了,然后将ckfinder目录Copy到你项目WebRoot下。 
步骤一:将CKFinderJava-2.4下的jar包Copy到你的项目下,还有WEB-INF/config.xml文件Copy到你的项目WEB-INF/下。 
步骤二:修改config.xml文件(说明:CKFinderJava/userfiles/目录存储文件的目录) 

<enabled>true</enabled>
<baseURL>/CKEditorAndCKFinder/CKFinderJava/userfiles/</baseURL>

步骤三:在web.xml文件,配置Servlet 

<servlet>
<servlet-name>ConnectorServlet</servlet-name>
<servlet-class>com.ckfinder.connector.ConnectorServlet</servlet-class>
<init-param>
<param-name>XMLConfig</param-name>
<param-value>/WEB-INF/config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ConnectorServlet</servlet-name>
<url-pattern>
/ckfinder/core/connector/java/connector.java
</url-pattern>
</servlet-mapping>
<filter>
<filter-name>FileUploadFilter</filter-name>
<filter-class>com.ckfinder.connector.FileUploadFilter</filter-class>
<init-param>
<param-name>sessionCookieName</param-name>
<param-value>JSESSIONID</param-value>
</init-param>
<init-param>
<param-name>sessionParameterName</param-name>
<param-value>jsessionid</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>FileUploadFilter</filter-name>
<url-pattern>
/ckfinder/core/connector/java/connector.java
     	 </url-pattern>
</filter-mapping>
<session-config>
<session-timeout>10</session-timeout>
</session-config>

步骤四:修改ckeditor/config.js文件(当前也可以是自己编写的js配置文件,上一篇介绍过) 

config.filebrowserBrowseUrl =  '/CKEditorAndCKFinder/ckfinder/ckfinder.html' ;  
config.filebrowserImageBrowseUrl =  '/CKEditorAndCKFinder/ckfinder/ckfinder.html?type=Images' ;  
config.filebrowserFlashBrowseUrl =  '/CKEditorAndCKFinder/ckfinder/ckfinder.html?type=Flash' ;  
config.filebrowserUploadUrl =  '/CKEditorAndCKFinder/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Files' ;  
config.filebrowserImageUploadUrl =  '/CKEditorAndCKFinder/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Images' ;  
config.filebrowserFlashUploadUrl =  '/CKEditorAndCKFinder/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Flash' ;  
config.filebrowserWindowWidth = '1000';  
config.filebrowserWindowHeight = '700';  
config.language =  "zh-cn" ;

关于文件名乱码,图片不能显示问题。 
解决方案一:修改Tomcat web.xml配置文件 
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="6060" protocol="HTTP/1.1" redirectPort="8443"/> 
当然,该方式不合适,导致全部站点使用同样的编码方式(对于GET请求还存在其它问题)。 
解决方案二: 
修改源代码,实现文件重命名 
1、通过UUID.randomUUID().toString() 
2、日期命名法 
我创建新的项目,将CKFinder源码导入,修改FileUploadCommand类的saveTemporaryFile方法,将newFileName重命令即可。 
1、用压缩软件打开jar包,找到修改文件的路径。 
2、把编译好的class文件添加到jar包的该路径下替换原来的文件 
3、收工! 

 

		this.newFileName = "bjs-"+UUID.randomUUID().toString()+"."+FileUtils.getFileExtension(this.newFileName);
		File file = new File(path, this.newFileName);

 

     1. 从http://ckeditor.com中下载ckeditor for java和ckfinder for java。

        2. 将下载的文件解压,将ckeditor文件夹和ckfinder文件夹放置到项目根目录下,其中ckfinder文件夹在ckfinder*.war中。

        3. ckfinder*.war的WEB-INF目录下有一个config.xml文件,将之放置在项目的WEB-INF目录下,打开它,并进行相应修改:

 

[java] view plaincopy
 
  1. <config>  
  2.     <enabled><span>true</span></enabled><!--是否开启图片上传功能--!>  
  3.     <baseDir></baseDir>  
  4.     <baseURL><span>/ruisystem/userfiles/</span></baseURL><!--图片上传后的位置-->  
  5.     <licenseKey></licenseKey>  
  6.     <licenseName></licenseName>  
  7.     <imgWidth>1600</imgWidth>  
  8.     <imgHeight>1200</imgHeight>  
  9.     <imgQuality>80</imgQuality>  
  10.     <uriEncoding><span>UTF-8</span></uriEncoding><!--编码-->  
  11.     <forceASCII>false</forceASCII>  
  12.         <disallowUnsafeCharacters>false</disallowUnsafeCharacters>  
  13.     <userRoleSessionVar>CKFinder_UserRole</userRoleSessionVar>  
  14.     <checkDoubleExtension>true</checkDoubleExtension>  
  15.     <checkSizeAfterScaling>true</checkSizeAfterScaling>  
  16.     <secureImageUploads>true</secureImageUploads>  
  17.     <htmlExtensions>html,htm,xml,js</htmlExtensions>  


        4. 打开ckeditor/config.js作相应修改,以下是我的修改:

[java] view plaincopy
 
  1. /* 
  2. Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. 
  3. For licensing, see LICENSE.html or http://ckeditor.com/license 
  4.  */  
  5.   
  6. CKEDITOR.editorConfig = function(config) {  
  7.     // Define changes to default configuration here. For example:  
  8.     // config.language = 'fr';  
  9.     // config.uiColor = '#AADC6E';  
  10.     config.height = '700px';  
  11.     config.font_names = '新细明体/PMingLiU;细明体/MingLiU;标楷体/DFKai-SB;黑体/SimHei;宋体/SimSun;新宋体/NSimSun;仿宋/FangSong;楷体/KaiTi;仿宋_GB2312/FangSong_GB2312楷体_GB2312/KaiTi_GB2312;微軟正黑體/Microsoft JhengHei;微软雅黑体/Microsoft YaHei;隶书/LiSu;幼圆/YouYuan;华文细黑/STXihei;华文楷体/STKaiti;华文宋体/STSong;华文中宋/STZhongsong;华文仿宋/STFangsong;方正舒体/FZShuTi;方正姚体/FZYaoti;华文彩云/STCaiyun;华文琥珀/STHupo;华文隶书/STLiti;华文行楷/STXingkai;华文新魏/STXinwei;'  
  12.             + config.font_names;  
  13. };  

        5. 将ckeditor-java-core-v.jar和ckfinder*.war的WEB-INF/lib目录下的所有jar包复制到项目中。

 

        6. 打开要使用ckeditor的页面,首先引入两个js:

 

[java] view plaincopy
 
  1. <script type="text/javascript" src="/ckeditor/ckeditor.js"></script>  
  2. <script type="text/javascript" src="/ckfinder/ckfinder.js"></script>  


        7. 在需要使用ckeditor的域下面添加一些代码:

 

 

[java] view plaincopy
 
  1. <textarea rows="2" cols="2" name="content" id="content"></textarea>   
  2. <script type="text/javascript">  
  3. if (CKEDITOR.instances['content']) {  
  4.     CKEDITOR.remove(CKEDITOR.instances['content']);  
  5. }  
  6.   
  7. var basePath = '你的位置';  
  8.   
  9. CKEDITOR  
  10.         .replace(  
  11.                 'content',  
  12.                 {  
  13.                     filebrowserBrowseUrl : basePath  
  14.                             + '/ckfinder/ckfinder.htm',  
  15.                     filebrowserImageBrowseUrl : basePath  
  16.                             + '/ckfinder/ckfinder.htm?type=Images',  
  17.                     filebrowserFlashBrowseUrl : basePath  
  18.                             + '/ckfinder/ckfinder.htm?type=Flash',  
  19.                     filebrowserUploadUrl : basePath  
  20.                             + '/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Files',  
  21.                     filebrowserImageUploadUrl : basePath  
  22.                             + '/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Images',  
  23.                     filebrowserFlashUploadUrl : basePath  
  24.                             + '/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Flash',  
  25.                     filebrowserWindowWidth : '1000',  
  26.                     filebrowserWindowHeight : '1000'  
  27.                 });  
  28. </script>  


        8. 在web.xml中添加如下代码:

 

 

[java] view plaincopy
 
  1. <filter>  
  2.     <filter-name>FileUploadFilter</filter-name>  
  3.     <filter-class>com.ckfinder.connector.FileUploadFilter</filter-class>  
  4.     <init-param>  
  5.         <param-name>sessionCookieName</param-name>  
  6.         <param-value>JSESSIONID</param-value>  
  7.     </init-param>  
  8.     <init-param>  
  9.         <param-name>sessionParameterName</param-name>  
  10.         <param-value>jsessionid</param-value>  
  11.     </init-param>  
  12. </filter>  
  13. <filter-mapping>  
  14.     <filter-name>FileUploadFilter</filter-name>  
  15.     <url-pattern>/ckfinder/core/connector/java/connector.java</url-pattern>  
  16. </filter-mapping>  
  17. <servlet>  
  18.     <servlet-name>ConnectorServlet</servlet-name>  
  19.     <servlet-class>com.ckfinder.connector.ConnectorServlet</servlet-class>  
  20.     <init-param>  
  21.         <param-name>XMLConfig</param-name>  
  22.         <param-value>/WEB-INF/config.xml </param-value>  
  23.     </init-param>  
  24.     <init-param>  
  25.         <param-name>debug</param-name>  
  26.         <param-value> false </param-value>  
  27.     </init-param>  
  28.     <load-on-startup> 1 </load-on-startup>  
  29. </servlet>  
  30. <servlet-mapping>  
  31.     <servlet-name>ConnectorServlet</servlet-name>  
  32.     <url-pattern>/ckfinder/core/connector/java/connector.java</url-pattern>  
  33. </servlet-mapping>  


        启动tomcat,开始体验吧。

分享到:
评论

相关推荐

    Ckeditor与ckfinder forJAVA

    整合CKEditor和CKFinder主要目的是为了让用户在编辑内容时能够方便地插入和管理服务器上的文件。以下是整合步骤: 1. **下载与安装** 首先,你需要下载CKEditor和CKFinder的Java版本,压缩包中已包含`ckeditor-...

    Ckeditor与ckfinder整合forJAVA

    Ckeditor与ckfinder整合forJAVA(支持文件上传),详细描述,按照步骤操作即可搭建可视化html编辑器

    Ckeditor + ckfinder整合for JAVA(支持文件上传)

    **整合Ckeditor和ckFinder for JAVA** 1. **配置Ckeditor** 首先,你需要在项目中引入Ckeditor的JavaScript库。这可以通过在HTML文件中添加script标签来实现,或者使用构建工具如Webpack、Grunt等进行管理。 2. **...

    整合ckeditor+ckfinder实现图片或文件上传功能

    总之,通过`ckeditor`和`ckfinder`的整合,你可以为JAVA工程提供一个强大的富文本编辑体验,同时具备图片和文件的上传管理功能。在实际开发过程中,需要注意兼容性、性能优化以及安全性,以确保用户体验和系统稳定。

    ckeditor与ckfinder(java版)整合,实现图片上传

    - 将`CKFinderJava`文件夹中的`config.xml`文件直接复制到项目的`WEB-INF`目录下,并进行适当修改。 **配置文件修改** - **`config.xml`**: - **启动CKFinder**: ```xml &lt;enabled&gt;true&lt;/enabled&gt; &lt;!-- 默认为...

    ckeditor+ckfinder(java 版本)

    这个项目是基于Java实现的CKEditor和CKFinder的集成方案,意味着它使用Java后端技术来处理文件上传、管理等操作。这使得项目可以在Java服务器环境下运行,如Tomcat、Jetty等,同时也支持Spring、Struts等主流Java...

    Ckeditor与ckfinder整合

    **第三步:整合CKEditor和CKFinder** 将解压后的CKEditor文件夹复制到WebRoot目录下。接着,打开ckeditor文件夹内的`config.js`文件,进行配置。例如,设置语言为中文(`config.language = 'zh-cn';`),取消拖动...

    ckeditor与ckfinder整合forJAVA(支持文件上传、解决乱码问题)二

    #### 知识点二:整合CKEditor与CKFinder for Java环境配置 - **开发工具**:Eclipse 3.7.0,这是一种流行的Java集成开发环境(IDE),支持多种插件扩展,便于开发人员进行Java项目的开发和调试。 - **服务器**:...

    CKEditor+CKFinder Java版本的整合

    整合CKEditor和CKFinder是一个相对复杂的过程,涉及到前端和后端的配合。但一旦设置好,它将为你的Web应用提供一个强大且用户友好的内容编辑和管理功能。在实际开发中,确保对每个步骤进行详尽的测试,以确保所有...

    Struts2整合之CKeditor和CKfinder

    Struts2是一个流行的Java web开发...总的来说,Struts2整合CKeditor和CKfinder能够提升Web应用的内容编辑体验,使得内容创作和管理变得更加便捷。但同时,也需要注意合理配置和安全防护,以保证系统的稳定性和安全性。

    CKEditor3.6.4+CKFinder2.3 for java破解整合

    CKEditor3.6.4+CKFinder2.3 for java破解整合

    CKEditor和CKFinder整合实现上传下载功能 java

    ckfinder java使用 富文本编辑框 CKEditor和CKFinder整合实现上传下载功能 可以直接导入使用 整合参考资料: http://guoliang0-0-yahoo-cn.iteye.com/blog/1195348

    java与ckeditor和ckfinder整合后实现上传图片功能

    以下是对"java与ckeditor和ckfinder整合后实现上传图片功能"这一主题的详细说明。 首先,**CKEditor** 是一个开源的JavaScript富文本编辑器,它提供了丰富的文本格式化选项,让用户可以在网页上创建类似于Word文档...

    Ckeditor+ckfinder例子

    **CKEditor与CKFinder整合应用详解** 在网页开发中,富文本编辑器是不可或缺的工具,它能够提供用户友好的界面来编辑HTML内容。CKEditor和CKFinder是两个非常流行的开源工具,它们协同工作,为用户提供了一种强大的...

    ckeditor+ckfinder整合for java for jsp

    ckfinder 版本为2.0,2 ckeditor 版本为3.6 最新版本,jsp整合,后台servlet,javabean,编辑器带上传图片功能。 不足之处:如果上传的资源是中文,前端引用会乱码。 开发环境,myeclipse,数据库 mysql

    在web工程中整合ckeditor3.6和ckfinder2.0.2

    在Web开发中,集成CKEditor 3.6与...总的来说,整合CKEditor 3.6与CKFinder 2.0.2是一个提高Web应用内容编辑体验的关键步骤,它提供了丰富的文本编辑和文件管理功能,使得网站管理员和用户能够更便捷地创建和管理内容。

    关于jsp中ckeditor+ckfinder

    - 将 `ckeditor-java-3.6.1.zip` 中的 `ckeditor` 文件夹和 `ckfinder_java_2.0.2.1.zip` 中的 `ckfinder_java_2.0.2.1\ckfinder_sources\CKFinderforJava\WebApp\src\main\webapp\ckfinder` 文件夹解压并复制到项目...

Global site tag (gtag.js) - Google Analytics