fckeditor2.6.4总结(上)
2009年04月22日 星期三 13:37
2009-4-21 最新版
在unionshop项目中初识fckeditor,总算有时间可以总结一下它的配置与用法。
一 配置
首先在fckeditor的官方网站http://www.fckeditor.net/download下载FCKeditor_2.6.4.zip。解压后为一个fckeditor文件夹。可以直接拷贝到项目里面去,一般放置于WebRoot根目录。
1 jar包
共四个:common-fileupload.jar
common-io.jar
slf4j-api.jar
fckeditor-java-core.jar
jar包一定要全导入项目路径,如果有缺失会有难以解决的问题。例如:common-io.jar的缺失会造成图片上传失败,然而没有任何提示,只是进度条在不停地动。这种情况就很难找到问题根源。
2 web.xml
这个版本比老版本方便许多,在web.xml中少了些难以理解的配置。web.xml中添加的只是对上传的配置。
只需要在web.xml中加入如下代码:
<!-- fckEditor -->
<servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>
net.fckeditor.connector.ConnectorServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Connector</servlet-name>
<!-- Do not wrap this line otherwise Glassfish will fail to
load this file -->
<url-pattern>
/fckeditor/editor/filemanager/connectors/*
</url-pattern>
</servlet-mapping>
<!-- fckEditor -->
3 fckeditor.js
默认的配置一般不需要修改。但是最好来确认两点:
路径要与fckeditor文件夹位置匹配:
FCKeditor.BasePath = '/fckeditor/' ; //放置于工程的WebRoot根目录
要采用php浏览与上传文件:
var _FileBrowserLanguage = 'php' ;
var _QuickUploadLanguage = 'php' ;
4 fckeditor/editor/filemanager/connectors/php/config.php
由于fckeditor默认的不支持文件上传,因此要在这进行修改配置:
$Config['Enabled'] = true ; //支持上传
$Config['UserFilesPath'] = '/userfiles/' ;
//上传文件存放路径配置,这里为WebRoot根目录下userfiles文件夹
5 fckeditor.properties
新建fckeditor.properties放置于WebRoot/WEB-INF/classes根目录下。
添加内容:
connector.userActionImpl=net.fckeditor.requestcycle.impl.UserActionImpl
由于众多的配置信息都在fckeditor-java-core.jar包内的
net.fckeditor.handlers.default.properties中,
需要修改的属性可以再在fckeditor.properties内重新定义。例如上传文件要放置于upload文件夹下,则可以再此处再次定义:
connector.userFilesPath=/userfiles/
6 初步调试
可以通过启动服务器后打开
http://localhost:8080/projectName/fckeditor/_samples/default.html
来进行简单调试,查看文件是否能正常上传。
二 中文乱码解决
网上找到一篇文章专门解决这个问题,链接为: http://www.javaeye.com/topic/245231
============================================================================================
本文主要探讨中文乱码的解决方法,在Fckeditor For Java中的中文乱码主要有三个方面:
一、中文图片上传后文件名显示为乱码的情况
二、创建目录时中文为乱码的情况
三、当引用的图片为中文时,在页面中显示为红叉的情况
这种乱码情况,就我目前的感觉而言是Fckeditor的Bug,不是我们有没有配置正确的问题了,要想解决以上三个问题,需要我们修改Fckeditor的源码。
对于问题1和2我们可以把它用一个方法解决掉,使用UUID(此类位于java.util.UUID,不明白的可以查API)解决掉此问题。思路是把这些上传上来的中文名字进行随机重命名英文字符串,这样就不存在中文问题了。
由于我们无法直接修改FckEditor,所以需要我们重写ConnectorServlet这个Servlet文件,我们在我们的项目里面新建一个Class文件,命名为ConnectorServlet,直接把net.fckeditor.connector.ConnectorServlet的内容copy过来。另外需要修改web.xml文件把servlet的指向定位到我们自己重写的Servlet
假如我们把我们新建的ConnectorServlet放在包test.fckeditor下面,则WEB.XML需要把:
<servlet-class>
net.fckeditor.connector.ConnectorServlet
</servlet-class>
改成
<servlet-class>
test.fckeditor.ConnectorServlet
</servlet-class>
其他保持不变就即可!
在我们copy后会出现一个报错,说是Messages这个找不到,我们使用Eclipse的修复功能导入net.fckeditor.connector.Messages这个包就可以了。
下面我们开始修改这个Servlet,解决我们上述的三个中文乱码问题。
第一个问题:找到doPost方法中的try...catch语句块。在try前面增加这么一行语句:
upload.setHeaderEncoding("UTF-8");
在这里我们对于这个upload进行编码,解决中文问题。到这里对于项目进行重新布署就会发现再上传中文名字的图片就不会显示为乱码了。
第二个问题:找到doGet方法中的
String newFolderStr = UtilsFile.sanitizeFolderName(request
.getParameter("NewFolderName"));
修改为:
String tempStr = request.getParameter("NewFolderName");
tempStr = new String(tempStr.getBytes("iso8859-1"),"utf-8");
String newFolderStr = UtilsFile.sanitizeFolderName(tempStr);
在原来的代码中没有对rerquest的数据进行重新编码,所以遇到中文就会出现乱码!
第三个问题:其实有两种解决方法,一是修改服务器的URL编码,但是修改服务器的话,在我们自己的电脑上比较方便,如果是我们要放到自己买的空间中就不容易了。另外如果修改了服务器的编码,可能影响到其它项目。所以这种方法就不写了
二是我们使用UUID对上传的文件进行重命名成英文字条串。
找到doPost中的try语句块中的第一个if 即:
if (!ExtensionsHandler.isAllowed(resourceType, extension))
ur = new UploadResponse(UploadResponse.SC_INVALID_EXTENSION);
在这段代码前面添加下面的一行语句:
filename = UUID.randomUUID().toString()+"."+extension; //extension为扩展名,在上文中得到的
这样我们的三个问题都解决了。如果我们做了第三步,那第一个修改也就没有什么作用了,所以使用的话,只进行二三步就OK了。
分享到:
相关推荐
解决FCKeditor上传中文名问题的常见方法可能包括: 1. **编码设置**:确保服务器和FCKeditor配置文件的编码设置一致,通常为UTF-8,以支持多语言字符。 2. **修改源码**:找到处理文件名的部分,可能在上传函数或...
2.6.4 版本是其历史版本之一,它在处理中文文件夹和图片时可能会遇到一些问题。以下是对 Fckeditor 2.6.4 的详细配置步骤,以及解决中文支持的方案。 **一、安装与集成** 1. 下载 Fckeditor 2.6.4 压缩包,解压到...
**fckeditor 2.6.4 完整版** FCKeditor是一款开源的Web富文本编辑器,它在2.6.4版本中提供了一个全面的功能集,旨在为Web应用程序提供类似桌面应用的文字编辑体验。这个完整版包含了所有必要的组件和资源,允许...
**FCKeditor2.6.4使用说明** FCKeditor是一款功能强大的开源文本编辑器,广泛应用于网页内容编辑,尤其适合需要用户输入HTML内容的网站。版本2.6.4是其历史版本之一,提供了丰富的功能和良好的兼容性。本文将详细...
包括fckeditor2.6.4+fckeditor-java-2.4.1配置所需资源包及fckeditor-java-2.4.1源码和配置说明文档。 配置中解决了中文乱码,并为上传文件自动创建日期文件夹。
"Fckeditor2.6.4"是一款历史悠久且广受欢迎的在线文本编辑器,它在Web开发领域扮演了重要的角色。FCKeditor(后更名为CKEditor)是用于构建网页内容的富文本编辑工具,允许用户在浏览器中进行类似Word的文本编辑,并...
### 在JSP中配置FCKeditor 2.6.4 FCKeditor 是一款非常流行的开源 HTML 编辑器,它能够为 Web 开发者提供类似 Microsoft Word 的强大编辑功能。这款编辑器支持多种现代浏览器,并且对于 JSP 开发环境而言具有良好的...
**FCKeditor 2.6.4:一个强大的所见即所得编辑器** FCKeditor 2.6.4是一款广泛使用的开源所见即所得(WYSIWYG)文本编辑器,适用于多种Web开发环境,包括ASP和PHP。它是FCKeditor的最终版本,为开发者提供了丰富的...
【Fckeditor2.6.4最终版增强版】是一个基于Web的富文本编辑器,它在标准的Fckeditor2.6.4版本基础上进行了增强,提供了更丰富的功能和改进的用户体验。这个编辑器允许用户在网页上进行文字编辑,同时支持插入图片、...
**Fckeditor 2.6.4 知识点详解** Fckeditor是一款开源的网页文本编辑器,它允许用户在浏览器端进行富文本编辑,提供了类似于Microsoft Word的界面,支持多种格式的文本处理,如HTML、BBCode等。版本2.6.4是该编辑器...
在.FCKeditor2.6.4修改版中,这一功能的加入使得用户在上传图片前就能看到其缩略图,避免了因图片过大或格式问题导致的显示问题。实现缩略图功能通常包括以下部分: 1. 图片处理库的集成,如ImageMagick或GDI+,用于...
10. **社区支持**:FCKeditor有一个活跃的开发者社区,用户可以在论坛上寻求帮助,分享经验和解决问题。 在压缩包文件中,"fckeditor"可能是编辑器的核心文件,包含了FCKeditor的所有必要组件,如JavaScript库、CSS...
1. 为了安全起见,建议限制FCKeditor上传文件的类型和大小。 2. 如果遇到跨域问题,可能需要配置CORS策略或者在服务器端处理请求头。 3. 对于大型项目,可以考虑使用更新版本的富文本编辑器,如CKEditor,它继承自...
1. **FCKeditor主程序**:这是编辑器的核心部分,提供文本编辑、格式化、插入图片、链接等基本功能。它通过JavaScript编写,兼容多种浏览器,如IE、Firefox、Chrome和Safari等。 2. **范例**:示例文件展示了...
3. **图像和媒体管理**:可以上传、插入和管理图片、视频等多媒体文件。 4. **插件系统**:通过插件可以扩展编辑器的功能,如添加特殊字符、公式编辑、代码高亮等。 5. **多语言支持**:FCKeditor支持多种语言界面,...
请修改editor\filemanager\connectors\asp下的config.asp中的上传路径及function.asp中的相关水印设置。 压缩包中含22个插件,保存远程图片功能默认已装上。 有任何疑问请到...
FCKeditor 2.6.4是其在2008年发布的一个稳定版本,为开发者提供了丰富的文本编辑功能,使得用户可以在网页上实现类似Word的文本处理体验。本文将详细解析FCKeditor 2.6.4的核心特性、应用及其在实际开发中的价值。 ...
原有的jar包不支持中文乱码问题,经过优化测试,成功解决上传图片中文乱码问题
理解编辑器的工作原理和结构,有助于更快地定位和解决问题。 10. **性能优化**:为了提高用户体验,开发者需要关注编辑器的加载速度和内存占用。合理的资源配置和优化的初始化代码,可以减少编辑器对页面性能的影响...