对FckEditor的配置和操作

来源:互联网 发布:合八字软件 编辑:程序博客网 时间:2024/06/04 18:13
 

CKEditor 集成

在网站中引用CKFinder.dll

配置参考文档,主要将ckeditor中的(adapters、images、lang、plugins、skins、themes、ckeditor.js,config.js、contents.css)解压到网站中所有js的目录,然后“显示所有文件”,将ckeditor的目录“包含在项目中

”,在发帖页面(*.Aspx的head中)引用ckeditor.js,然后设置多行文本框的class="ckeditor"

(CSS强大)(服务端控件CssClas=" ckeditor ",客户端控件要设定cols、rows属性,一般不直接用html控件),代码中仍然可以通过TextBox控件的Text属性来访问编辑器内容。

遇到的问题:由于页面提交的时候asp.net会把富文本编辑器中的html内容当成攻击内容,因此需要在aspx中的Page标签中设置 ValidateRequest="false" 来禁用攻击检测(2010中还要根据报错信息修改WebConfig来禁用XSS检测)。

CKFinder集成

CKFinder是一个CKEditor插件,用来为CKEditor提供文件的上传的功能。将bin\Release下的CKFinder.dll添加到项目的引用;将core、ckfinder.js、ckfinder.html、config.ascx解压到CKFinder自己的目录。

按照文档修改CKEditor的config.js(var ckfinderPath = "/Scripts";(网站根目录下的Scripts文件夹)

config.filebrowserBrowseUrl = ckfinderPath + "/ckfinder/ckfinder.html";

    config.filebrowserImageBrowseUrl = ckfinderPath + "/ckfinder/ckfinder.html?Type=Images";

    config.filebrowserFlashBrowseUrl = ckfinderPath + "/ckfinder/ckfinder.html?Type=Flash";

    config.filebrowserUploadUrl = ckfinderPath + "/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files";

    config.filebrowserImageUploadUrl = ckfinderPath + "/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images";

    config.filebrowserFlashUploadUrl = ckfinderPath + "/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash";

),ckfinder为Scripts"目录下的ckfinder文件夹,将上传的处理程序设定为CKFinder,注意路径的问题。

使用测试,在插入超链接、插入图片、插入文件中都有“上传”

因为上传文件是非常危险的动作,因此在文件上传的时候会进行权限校验。在config.ascx的CheckAuthentication方法中校验是否有权限上传,返回true表示有权限,否则没有权限,一般修改成判断用户是否登录,并且登录用户是有上传权限的用户,可以用Session或者Membership来做。思考:如何实现只有指定IP地址的用户才能上传?

在SetConfig函数中设置上传文件夹的位置BaseUrl、缩略图的位置,每种类型数据的上传路径、允许上传的文件类型AllowedExtensions等。

 

总结的不全,请大家原谅!

原创粉丝点击