fckeditor-java-2.4.1-src.zip(在http://www.fckeditor.net/download上也有下?.解压~之?把源文g部v到工E里,可启动老是报错,不知道是啥回事儿,后来换成了手动的,操作如下
扑ֈ源文件中?net.fckeditor.connector.ConnectorServlet.java,其中的部分代码Ҏ,我们先搞定图片中文问?需要做如下修改,大概?40多行的位|?br />
String newFilename = null;
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
在其后添加一?指定~码为UTF-8的格?如下
String newFilename = null;
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("UTF-8");
代码是改掉了,可怎么部v到应用里面呢,前面有说?直接java源文件放在工E里~译启动里会报错,不知道是我哪里没弄好q是怎么回事,反正也没L腾了,改用土办?br />
解压fckeditor-java-core-2.4.1.jar里面的class攑֜WEB-INF/classes?然后手工新生成的ConnectorServlet.class文g替换?WEB-INF/classes/net/fckeditor/connector/ConnectorServlet.class ,再启动服务器,如果没有报错的话,中文囄的上传问题就能搞定了
今天Z解决q个问题查了一天的资料,也顺便看了很多文?好像是FCKeditor2.4之后可以配置上传文g自动重命名的地方,我只看到一文档上提到q一?在官方网站上也没有找到相关的说明,也就不去找什么配|了,反正源代码已l改动过?不如把重命名也一h?扑ֈnet.fckeditor.connector.ConnectorServlet.java大概250行左?br />
// 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 baseName = FilenameUtils.removeExtension(filename);
String extension = FilenameUtils.getExtension(filename);
上面的代码改ؓ
// We upload only one file at the same time
FileItem uplFile = items.get(0);
String rawName = UtilsFile.sanitizeFileName(uplFile.getName());
String randTimer = String.valueOf(Calendar.getInstance().getTimeInMillis());
String randVal = String.valueOf(Math.abs((new Random()).nextInt()));
String filename = FilenameUtils.getName(rawName);
String baseName = randTimer + randVal;
String extension = FilenameUtils.getExtension(filename);
filename = baseName.concat(".").concat(extension);
卛_,此处我是用时间的毫秒串再加上一个随机数串构成的新文件名,当然也可以改成你自己喜欢的格?如将毫秒Ҏ日期旉字串,则只需修改
String randTimer = (new SimpleDateFormat("yyyyMMddHHmmss")).format(new Date());
改好了之?重新生成class文g,按照上面的做法部|到应用中去
Z方便使用,可以把修改后的class文g重新做成jar?WEB-INF/classes下的net和org目录拯C个新的空目录?然后在命令提C符下{到该目录,用如下命令可以生成新的jar?br />
jar -cvf fckeditor-java-2.4.1-rename.jar *.*
此处为生成一个fckeditor-java-2.4.1-rename.jar,当然,名字可以自己定义
上面的做法可能不是很先进,在Eclipse里也有打包jar的操?也许更新一个java源文件不会是q么ȝ,但ȝq样是搞定了,记录在这里先

]]>