当前位置: 代码迷 >> Web前端 >> FCKeditor更改下传文件名替换空格和覆盖原重名文件
  详细解决方案

FCKeditor更改下传文件名替换空格和覆盖原重名文件

热度:38   发布时间:2012-10-28 09:54:44.0
FCKeditor更改上传文件名替换空格和覆盖原重名文件
此更改是根据FCkeditor2.6.6版本测试的

1.覆盖原重名文件设置
在原文件net.fckeditor.connector.impl.AbstractLocalFileSystemConnector中fileUpload方法中
删除掉 File fileToSave = UtilsFile.getUniqueFile(newFile.getAbsoluteFile());即可
同时把下面相应的fileToSave变量名更改成它上面的newFile名

最好再把net.fckeditor.connector.Dispatcher类中doPost方法里面的下面代码注释掉,否则还弹出已经改名的提示框,只留下红字一行就ok了
if (sanitizedFileName.equals(newFileName))
uploadResponse = UploadResponse.getOK(fileUrl);
else {
uploadResponse = UploadResponse.getFileRenamedWarning(fileUrl, newFileName);

logger.debug("Parameter NewFile (renamed): {}", newFileName);
}

2.如果要上传的文件名有一个或者多个空格,都给替换成一个“_”

还是在这个文件中这个方法里,在上面删除代码的上面
更改为下面代码即可
String name = fileName.trim();
name = name.replaceAll("\\s+", "_");

File newFile = new File(currentDir, name);

3.更改上传文件路径
跟以往版本不同在这个版本里用的是
connector.userFilesAbsolutePath这个名,所以在src目录下的
fckeditor.properties里面直接配置下面代码即可
connector.userActionImpl=net.fckeditor.requestcycle.impl.UserActionImpl
connector.userFilesPath=/UploadFile   //这个在此版本里没用,以往版本是这个
connector.userFilesAbsolutePath=/UploadFile

对于上面的更改,我直接更改的其源码,如有更好的方法,还请大家请教

其他配置
如果想修改默认上传文件夹配置可以根据不同的文件类型重新配置,例如如下:默认是下面的
# default resource type paths
connector.resourceType.file.path = /file
connector.resourceType.image.path = /image
connector.resourceType.flash.path = /flash
connector.resourceType.media.path = /media
可以修改为
# default resource type paths
connector.resourceType.file.path = /
connector.resourceType.image.path = /
connector.resourceType.flash.path = /
connector.resourceType.media.path = /
选择默认上传时就会默认进入,预先配置connector.userFilesAbsolutePath的根目录下

其他参考文献
http://www.jskong.cn/post/29.html    FCKeditor2.6 for JSP 配置方法
http://www.iteye.com/topic/362250  apache2.2服务器+fckeditor2.6(java版)的应用
http://sourceforge.net/projects/fckeditor/files/   官方文件下载
  相关解决方案