`
xiaoboss
  • 浏览: 651752 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

FCKeditor 2.6.6 上传中文图片名乱码,新建中文 文件夹名乱码 上传权限 解决

阅读更多

看FCKeditor网上教程的时候,给的demo是以2.6.3版本的 不是最新版。讲到上传中文图片名乱码,新建中文 文件夹名乱码的时候,发现修改java比较麻烦,ConnectorServlet这个类的部分实现都在Dispatcher.java这个类里 修改起来不方便,(页面的charset是utf-8这个是没问题的,就是在servlet里面对request获取的参数未设置 charEncoding造成的)后来网上搜了下方案,结果解决中文乱码的问题了,在这里贴出来跟大家分享下

解决办法: 
  web容器的编码要与FCKeditor默认的编码UTF-8一致,如果使用的是Tomcat,需修改 
tomcat服务器中conf目录下的server.xml。如下: 
  <Connector port="8080" maxHttpHeaderSize="8192" 
  maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
  enableLookups="false" redirectPort="8443" acceptCount="100" 
  connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8" /> 
  <Connector port="8009" 
  enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="utf-8"/> 
其实就是在原来的基础上添加URIEncoding的属性值为utf-8。

后来上传中文文件与创建中文目录都没问题了(附件图片)

另外一种解决方法呢,你可以让程序自动给替换上传的文件名称,让上传文件名随机自动生成防止无法显示

在net.fckeditor.connector包中增加一个随机生成文件名的类:

package net.fckeditor.connector;

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class RandomName {

public static String ConfirmId(int sLen) {
   String date = new SimpleDateFormat("yyyyMMddHHmmss").format(Calendar
     .getInstance().getTime());
   String base = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   StringBuffer temp = new StringBuffer();
   temp.append(date);
   for (int i = 0; i < sLen; i++) {
    int p = (int) (Math.random() * 37);
    if (p > 35) {
     p = 35;
    }
    temp.append(base.substring(p, p + 1));
   }
   return temp.toString();
}

} 

 修改类net.fckeditor.connector.Dispatcher:

找到String fileName = FilenameUtils.getName(uplFile.getName());

在下面增加如下内容:

String extension = FilenameUtils.getExtension(fileName);
StringBuffer fileRandomName=new StringBuffer();
fileRandomName.append(RandomName.ConfirmId(10));
fileRandomName.append(".");
fileRandomName.append(extension);
fileName=fileRandomName.toString();

即可实现上传文件文件名自动更改,以防止不符合规则的文件名或中文名出现访问问题。

最新的JAVA版,已经重写了部分代码,对于以前的版本,修改的地方是在net.fckeditor.connector.ConnectorServlet这个类里,

找到如下内容:

// We upload only one file at the same time
FileItem uplFile = items.get(0);
String rawName = UtilsFile.sanitizeFileName(uplFile.getName());
String filename = FilenameUtils.getName(rawName);
String extension = FilenameUtils.getExtension(filename);

增加如下内容:

StringBuffer fileRandomName=new StringBuffer();
fileRandomName.append(RandomName.ConfirmId(10));
fileRandomName.append(".");
fileRandomName.append(extension);
filename=fileRandomName.toString();

 

 

如果是上传出现目录无权限 的查看classes目录下是否存在 fckeditor.properties文件

fckeditor.properties文件完整内容:

#
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
# Copyright (C) 2004-2009 Frederico Caldeira Knabben
#
# == BEGIN LICENSE ==
#
# Licensed under the terms of any of the following licenses at your
# choice:
#
# - GNU General Public License Version 2 or later (the "GPL")
#    http://www.gnu.org/licenses/gpl.html
#
# - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
#    http://www.gnu.org/licenses/lgpl.html
#
# - Mozilla Public License Version 1.1 or later (the "MPL")
#    http://www.mozilla.org/MPL/MPL-1.1.html
#
# == END LICENSE ==
#
# @version $Id: fckeditor.properties 2869 2009-01-09 22:01:33Z mosipov $

connector.userActionImpl=net.fckeditor.requestcycle.impl.EnabledUserAction

 

分享到:
评论

相关推荐

    FCKeditor 2.6.6 可直接使用

    **FCKeditor 2.6.6:一个经典且易集成的在线文本编辑器** FCKeditor是一款在Web开发中广泛使用的开源富文本编辑器,它允许用户在浏览器环境中进行类似Word的文本编辑操作。标题提到的是FCKeditor的2.6.6版本,这是...

    FckEditor2.6.6架包及配置文档

    FckEditor2.6.6是一款历史悠久且广泛使用的开源富文本编辑器,它为Web开发者提供了在网页上创建和编辑复杂格式文本的功能。这个编辑器以其强大的功能、易用性和可扩展性,深受广大开发者的喜爱。在这个压缩包中,...

    fckeditor2.6.6精简版

    基本的比如路径、toolbar等这些东西网上很多,我就不写了~主要说下对已上传文件管理部分的配置。 1.首先打开包中editor/filemanager/connectors/php目录下的config.php文件,有如下部分: view source print? 1 ...

    php配置fckeditor 2.6.6

    首先访问官方网站下载FCKeditor 2.6.6多国语言版,具体版本为2010年2月15日发布的版本。下载地址为:[http://ckeditor.com/download](http://ckeditor.com/download)。 - **版本说明** FCKeditor 2.6.6是一款...

    FCKeditor2.6.6及开发配置文档

    FCK是一款免费的开源的web在线文档编辑器,支持多国语言。 压缩包中有三个文件:两个是开发包,一个是我自己在项目开发中总结的文档,文档中就如何安装FCK和进行项目配置已经有了详细的叙述,这里就不多说了。...

    java fckeditor 2.6.6 源代码 jar包 示例程序 官方下载 天涯浪子

    4. 交互处理:设置服务器端接口,处理FCKeditor上传的文件和图片,以及保存或获取编辑器中的内容。 FCKeditor 2.6.6虽然已经比较老旧,但其核心功能依然强大且稳定,对于一些旧项目或对新版本有兼容性问题的环境,...

    FCKeditor上传图片中文乱码解决

    原有的jar包不支持中文乱码问题,经过优化测试,成功解决上传图片中文乱码问题

    FCKeditor_2.6.6.zip

    FCKeditor是一款功能强大的在线HTML编辑器,在博客日益兴盛的web2.0时代FCKeditor已经开始走向普通人的视线。

    php配置fckeditor2.6.6[借鉴].pdf

    ### PHP配置FCKEditor 2.6.6详解 #### 一、下载与准备 - **下载FCKEditor 2.6.6**: 首先访问官方下载页面(http://ckeditor.com/download),找到FCKEditor 2.6.6版本进行下载。此版本为多国语言版,发布时间为...

    fckeditor 2.6.6 for asp版 带行距功能

    fckeditor 2.6.6 for asp版 带行距功能 本人已测试,可以调整行距 样式地址:http://www.gdwd.net/bianji_test.asp

    fckeditor2.6.4上传中文名问题解决方案

    解决FCKeditor上传中文名问题的常见方法可能包括: 1. **编码设置**:确保服务器和FCKeditor配置文件的编码设置一致,通常为UTF-8,以支持多语言字符。 2. **修改源码**:找到处理文件名的部分,可能在上传函数或...

    FCKeditor_2.6.6_for_asp_GB2312

    **FCKeditor 2.6.6 for ASP GB2312** 是一个专为ASP平台设计的富文本编辑器,适用于需要在网页上提供文本编辑功能的开发者。该版本针对GB2312编码进行了优化,使得在中文环境下能够更好地运行。下面将详细介绍这个...

    FCKeditor_2.6.6 在线编辑asp|php|aspx

    **FCKeditor 2.6.6:在线编辑利器** FCKeditor是一款强大的开源在线文本编辑器,被誉为“所见即所得”(WYSIWYG)编辑器,它允许用户在浏览器环境中进行文本编辑,就像使用桌面应用程序一样。版本2.6.6是其历史上的...

    FCKeditor解决了中文乱码,上传等问题

    总之,FCKeditor是一款强大且易用的富文本编辑器,它的中文乱码解决方案和完善的文件上传功能,使得它成为处理中文内容的理想选择。无论是个人项目还是企业应用,FCKeditor都能够提供高效、稳定的内容编辑体验。...

    Fckeditor 2.6.4的详细配置,解决了中文文件夹,中文图片的问题

    Fckeditor 默认可能不支持中文文件夹名,需要修改配置来支持: 1. 找到 `fckconfig.js` 文件,这是 Fckeditor 的主要配置文件。 2. 在该文件中,查找 `Config.FileBrowserBrowseUrl` 和 `Config....

    FCKeditor_2.6.6完美版+例子

    7. **文件管理**:FCKeditor内置了文件管理器,允许用户上传、管理、预览和删除服务器上的文件,如图片、文档等。这对于内容创作者来说非常实用。 8. **安全性**:编辑器提供了多种安全机制,防止XSS攻击,例如对...

    FCKeditor_2.6.6

    FCKeditor是一款基于JavaScript的富文本编辑器,其2.6.6版本不仅在稳定性和性能上有所提升,还包含了丰富的功能特性,如图片上传、链接管理、表格操作、样式选择等,让开发者能够轻松构建具有WYSIWYG(所见即所得)...

Global site tag (gtag.js) - Google Analytics