`
精神分裂
  • 浏览: 29215 次
  • 性别: Icon_minigender_1
  • 来自: 二次元世界
社区版块
存档分类
最新评论

Fckeditor 2.6上传中文问题

阅读更多
在web.xml中配置FCKeditor提供的上传Servlet。
<servlet>
	<servlet-name>ConnectorServlet</servlet-name>
	<servlet-class>net.fckeditor.connector.ConnectorServlet</servlet-class>
	<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ConnectorServlet</servlet-name>
	<url-pattern>/fckeditor/editor/filemanager/connectors/*</url-pattern>
</servlet-mapping>


在src下建立fckeditor.properties文件,内容如下:
connector.userActionImpl=net.fckeditor.requestcycle.impl.EnabledUserAction

按照以上配置,FCKeditor便可进行图片上传功能。上传的文件会根据类型保存在Mixele_FCKeditor\userfiles目录中。


上传中文名文件出现乱码问题
当上传的文件名是中文时,会出现乱码现象,原因是因为net.fckeditor.connector.ConnectorServlet类中的doPost方法内,没有对请求进行编码的判断,也就是没有考虑到中文的情况。这个问题在2.6版已经得到解决。
但是最好是自定义修改,修改方法如下:
FCKeditor上传通过一个Servlet类,即ConnectorServlet,获取其源代码,在最新的FCKeditor中,ConnectorServlet类将大量的工作交给Dispatcher类,所以还需要获取该类源码。
在自己的工程中建立ConnectorServlet和Dispatcher类,其内容与FCKeditor提供的相同。修改其中部分代码,可解决一些问题。
以上的上传中文文件问题,可修改Dispatcher类。因为上传是通过POST方法,所以修改如下:
源码:
UploadResponse doPost(final HttpServletRequest request) {
	…………………………
		try {
			List<FileItem> items = upload.parseRequest(request);
			………………
}


修改后的代码:
UploadResponse doPost(final HttpServletRequest request) {
	…………………………
    upload.setHeaderEncoding("UTF-8");
	try {
		List<FileItem> items = upload.parseRequest(request);
		………………
}



创建中文名目录出现乱码问题
修改Dispatcher类。
源码:
GetResponse doGet(final HttpServletRequest request) {
	………………
	try {
		if (command.equals(Command.CREATE_FOLDER)) {
			String newFolderNameStr = request.getParameter("NewFolderName");
	………………
}


修改后的代码:
GetResponse doGet(final HttpServletRequest request) {
	………………
	try {
		if (command.equals(Command.CREATE_FOLDER)) {
			String tempStr = request.getParameter("NewFolderName");
			try {
				tempStr = new String(tempStr.getBytes("iso8859-1"), "UTF-8");
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			}
			String newFolderNameStr = tempStr;
	………………
}



引用中文名图片无法正常显示
修改Dispatcher类。
源码:
UploadResponse doPost(final HttpServletRequest request) {
	…………………………
	String fileName = FilenameUtils.getName(uplFile.getName());
	logger.debug("Parameter NewFile: {}", fileName);
	………………
}


修改后的代码:
UploadResponse doPost(final HttpServletRequest request) {
	…………………………
	String fileName = FilenameUtils.getName(uplFile.getName());
String filrNameX = fileName.substring(0, fileName.indexOf("."));
String extensionStr = fileName.substring(fileName.indexOf("."));
filrNameX = UUID.randomUUID().toString()+extensionStr;
fileName = filrNameX;
logger.debug("Parameter NewFile: {}", fileName);
	………………
}
分享到:
评论

相关推荐

    fckeditor2.6 for jsp

    jsp 程序调用fckeditor2.6 版本的 小例子 本人发现fckeditor2.6加 fckeditor for 2.3 的时候在上传中文文件的时候会出现乱码 所以本人就小改了一下 fckeditor2.3的源代码,以时间重命名上传文件名,没什么技术...

    FCKeditor 2.6 精简版第第三版

    该版本基于 FCKeditor 2.6 修改,旨在提高加载速度,删除不常用的功能,达到精简和优化的目的。 本次修改是基于源代码精简和优化再重新编译,保证功能正常的情况下,确保不残留任何垃圾、无用的代码。通过修改内容...

    最新FCKeditor_2.6 版本 FCKeditor编辑器和控件

    FCKeditor默认可以上传文件、图片、Flash和多媒体四种类型的文件,可以在SetConfig()中对AllowedTypes修改来增减允许的类型(这个类型可以在后面的TypeConfig["TypeName"]中定义,比如在AllowedExtensions属性中定制...

    FCKeditor 2.6

    2. **拖放功能**:FCKeditor 2.6支持拖放操作,允许用户直接将图片或其他文件从本地桌面拖放到编辑器中,简化了内容上传的过程。 3. **多媒体支持**:它可以处理各种媒体文件,包括图片、音频和视频,提供嵌入代码...

    fckeditor2.6之上传图片、附件以日期命名

    修改Dispatcher类,让fckeditor 2.6可以修改上传的图片、附件的名称。这个jar包是以当前日期为上传文件重命名。重命名可以解决中文文件名乱码的问题...

    FCKeditor2.6 在线文本编辑器例子

    FCKeditor是一个非常强大的在线文本编辑器,而且还是开源的。支持多种浏览器,而且被国内诸多博客使用。...本例采用FCKeditor2.6+FCKeditor for Java Driver2.41 最新配置例子,可以处理中文乱码、限制上传的文件的大小。

    FCKEditor 2.6b for java jsp 修正版

    此版本已经包含FCKEditor用于java web application 时的jar包,且已经解决上传文件在中文路径或文件中文名称时的问题,附件上传后命名规则是 年-月-日-时-分-秒+毫秒加以当前时间time(long类型数据)为种子产生的随即数...

    Fckeditor2.6例子

    为了解决Fckeditor2.6中的上传乱码问题,我们需要确保以下几个方面: 1. **服务器配置**:检查服务器环境(如Tomcat)的字符集设置,确保其支持UTF-8编码,这样可以保证接收到的数据不会因为编码转换而乱码。 2. **...

    fckeditor2.6 配置

    - 对于 ASP 上传,需要在 `fckeditor\editor\filemanager\connectors\asp\config.asp` 中设置上传目录: ```vbscript Dim ConfigUserFilesPath ConfigUserFilesPath = "/userfiles/" ``` - 该设置用于指定用户...

    fckeditor2.6最新源码工程解决中文问题,

    2、并修改了所有上传文件有关的中文乱码问题; 乱码解决是修改了server.xml: connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8"/&gt; 分别添加了 URIEncoding="utf-8",虽然不推荐修改系统...

    FCKeditor_2.6

    5. **多语言支持**:为了满足全球用户的需求,FCKeditor 2.6支持多种语言界面,包括中文,让不同地区的用户都能无障碍地使用。 6. **用户体验优化**:在2.6版本中,界面设计和交互体验得到了改进,使得编辑操作更加...

    FCKeditor_2.6rc

    **FCKeditor 2.6rc:引领在线编辑器的新纪元** FCKeditor是一款知名的开源在线文本编辑器,被誉为“最好的在线编辑器”。它的2.6rc版本是该编辑器的一个重要里程碑,提供了丰富的功能和优化的用户体验,使得内容...

    FCKeditor_2.6.5和中文帮助文档

    FCKeditor 2.6.5是该编辑器的一个特定版本,它在2.6系列中提供了一些关键改进和功能增强。 1. **编辑器界面与功能** - **WYSIWYG(所见即所得)**: FCKeditor 提供了一个直观的界面,让用户在浏览器中看到的文本...

    最新下载的FCKeditor_2.6.4.1编辑器,代码优化重写

    然而,尽管性能得到了显著提升,FCKeditor_2.6.4.1在汉字字体支持方面存在一定的局限性。这可能是由于编辑器默认配置的字体集不完全覆盖所有汉字,或者在渲染中文字符时的算法存在不足。对于中文用户来说,这意味着...

    FCK2.6 (内附所有所需内容 包括代码)

    1. **多语言支持**:FCKeditor2.6支持多种语言,包括中文,这使得全球用户都能方便地使用。 2. **丰富的编辑功能**:包括字体选择、字号调整、颜色设置、对齐方式、列表、段落样式、插入图片、链接、媒体等,提供了...

    fck2.6

    7. **文件管理**:FCKeditor 2.6内置了简单的文件管理器,用户可以直接在编辑器内上传、浏览和管理图片、文档等资源。这对于网站内容的维护非常方便。 8. **CSS样式支持**:编辑器尊重网页的CSS样式,允许用户应用...

    FckEditor V2.6 fckconfig.js详细中文注释

    ### FckEditor V2.6 fckconfig.js详细中文注释 #### 1. `FCKConfig.CustomConfigurationsPath=''` // 自定义配置路径 这一行设置了FCKEditor的自定义配置文件路径,默认为空字符串。如果需要加载额外的配置文件,...

    PHP FCKeditor_2.6.6 瘦身精简版 带重命名上传+实例使用说明

    删除语言包中除中文和英文以外的语言 删除skin目录下除默认皮肤以外的文件夹 filemanager/browser/default/connectors/目录下除php以外的文件 filemanager/upload/目录下除php以外的文件 二、配置说明: 将...

    FCKeditor_2.6.4+fckeditor-java-2.4.1_BMW修改版

    2、新建中文目录变乱码(这个好似还有点小问题,不过不影响使用,还是不建议用中文目录) 3、对上传的文件使用当前日期+UUID方式重命名 4、限制上传文件大小(这个也设置了可以自主修改,找到fckeditor.properties...

    FCKeditor编辑器(带dll)

    FCKeditor2.6是该编辑器的一个版本,其主要特性包括: 1. **拖放功能**:允许用户直接从本地系统将文件拖放到编辑器中,方便上传图片和其他媒体资源。 2. **多语言支持**:支持多种语言界面,包括中文,满足不同...

Global site tag (gtag.js) - Google Analytics