手里有个网站的编辑器不兼容现在的浏览器使用起来很不方便,决定换一个编辑器。经过一番选择,最后决定使用ckeditor,ckeditor本身不支持图片上传要用ckfinder来实现。ckeditor的配置很简单,但是与ckfinder结合上传图片却怎么也不能成功。官网的文档完全看不懂,查了很多资料,配置相当复杂,而且最后也都不成功。
到目前似乎进了死胡同,无奈之下翻看文件发现有个之前没有注意的sample文件夹。打开研究之后发现并没有复杂的设置, 照猫画虎竟可以上传了。现将需要需要的设置记录如下,假设安装路径是根下的test:
首先将ckeditor和ckfinder解压后的文件夹上传到test文件夹。然后在调用ckeditor的文件中加入
<script type=”text/javascript” src=”/System/ckeditor/ckeditor.js”></script>
<script type=”text/javascript” src=”/System/ckfinder/ckfinder.js”></script>
然后在需要调用的位置添加
<textarea name=”content” id=”content”><%=content%></textarea>
<script type=”text/javascript”>
//必须放在textarea后面
if (typeof CKEDITOR == ‘undefined’) {
document.write(‘加载编辑器失败’);
}
else {
var editor = CKEDITOR.replace(‘content’);
CKFinder.setupCKEditor( editor, ‘/test/ckfinder/’ ) ;
}
</script>
再打开ckfinder中的config.asp,搜索
CheckAuthentication = false
加入权限验证,如果是本地测试可以直接改为true。
再找到
baseUrl = “/userfiles/” ‘注意写法
图片上传后的调用路径,改为存放上传文件的目录。文档中说可以使用带http路径的网址,我实际使用中会报500服务器错。
然后打开ckfinder/core/asp/CommandHandler/FileUpload.asp文件,找到
sExtension = oCKFinder_Factory.UtilsFileSystem.GetExtension( sFileName, false )
大约是131行,后面加上
Randomize ‘重命名为随机数以防中文名出错
sFileName=DateDiff(“s”,”1970-1-1 0:0:0″,Now) &”_”&
int(90000*rnd)+10000&”.”&sExtension
到此就算大功告成了。
我在使用中发现ckeditor的config.js中的配置完全不起作用,而在调用过程中加入参数则会报500错。不过不影响使用,以后再慢慢调吧。
推荐阅读:
评论
本文评论功能已关闭。