您的位置:首页 > 编程语言 > ASP

ASP.NET中CKEditor+CKFinder的配置方法

2012-07-03 11:07 387 查看
首先在网站上下载需要的组件!http://ckeditor.com/download这个网站中需要下载第一个和第四个组件。http://ckfinder.com/download这个网站中下载CKFinder for ASP.NET组件。

分别解压缩CKEditor组件的两个Zip格式的文件到合适位置

3、在CKEditor for ASP.NET解压缩的文件目录内,找到bin\Release\CKEditor.NET.dll文件,将该文件复制粘贴到网站目录的Bin目录,如下图所示







(注:如果网站根目录没有Bin目录,可以在网站根目录右击【添加ASP.NET文件夹】|【Bin】创建)

4、将CKEditor 3.X解压缩的整个文件夹(文件夹名为ckeditor)全部复制粘贴到网站根目录下,见上图

5、打开工具箱,在适当的选项卡上右击(笔者选择的是【常规】,也可以自己创建选项卡),点击【选择项...】,在打开的【选择工具箱项】窗口中,点击右下角的【浏览】按钮,找到步骤3的CKEditor.NET.dll文件,确定完成,这里在工具箱相应选项卡内会出现CKEditor控件,如下图所示最后一项(第一项FCKeditor是笔者以前所用的版本):







6、任意创建一个网页,将工具箱中的CKEditorControl控件拖放到网页中,运行,即可看到CKEditor对象显示在网页内。

接下来配置CKFinder,解压缩包,将CKFinder整个文件夹拷贝到网站的根目录下,删除_samples和_source两个文件夹,如下图所示:



查看大图

然后修改config.ascx文件,



public override bool CheckAuthentication()

{

// WARNING : DO NOT simply return "true". By doing so, you are allowing

// "anyone" to upload and list the files in your server. You must implement

// some kind of session validation here. Even something very simple as...

//

// return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true );

//

// ... where Session[ "IsAuthorized" ] is set to "true" as soon as the

// user logs on your system.

return false;

}



public override void SetConfig()

{

// Paste your license name and key here. If left blank, CKFinder will

// be fully functional, in Demo Mode.

LicenseName = "";

LicenseKey = "";

// The base URL used to reach files in CKFinder through the browser.

BaseUrl = "/ckfinder/userfiles/";

以下代码省略。上面加粗的地方需要修改:



return false;改为 return true;本句的改动是让所有用户可以上传文件

/ckfinder/userfiles/的修改分两种情况,本地情况和远程情况



本地情况:如果是以文件系统方式在本地开发,将双引号内的/ckfinder/userfiles/改为/YOUHUA_Site/Userfiles/ ,本名的改动是将上传的文件存储到/YOUHUA_Site/Userfiles/文件夹内,其中/YOUHUA_Site/是博文所做网站的根目录;用户可以根据自己的网站根目录进行相应修改。这里需要特别指明一点,/ckfinder/userfiles/这个文件夹,不要以为把ckfinder文件夹放到网站根目录内就可以用BaseUrl了,前边必须加上网站根目录名。比如,博主如果使用CKFinder这个默认文件上传存储文件夹,则BaseUrl应该实际写为"/YOUHUA_Site/ckfinder/userfiles/",开始结束的斜线都不要缺少;

远程情况:如果将开发好的网站部署到远程网站,本地情况中的网站根目录将不复存在,而是变成了相应的网址,所以,网站部署到远程时,博主刚才所设置的内容,需要把/YOUHUA_Site部分删除,即用户上传文件的BaseUrl应为 /Userfiles/

4、将ckfinder/bin/Release下的CKFinder.dll文件拷贝粘贴到网站根目录的系统文件夹Bin内;

5、要使得CKEditor可以上传图片及文件,需要在使用CKEditor控件的网页后台代码做处理如下:

protected void Page_Load(object sender, EventArgs e)

{

CKFinder.FileBrowser fileBrowser = new CKFinder.FileBrowser();

//设置CKFinder基路径,注意这个路径CKFinder系统文件所放位置,不是上传文件的路径,适用于本地

fileBrowser.BasePath = "/YOUHUA_Site/ckfinder/";

//设置CKFinder基路径,适用于远程部署,注意/YOUHUA_Site已经删除,并且本语句注释,远程使用时

//取消注释,将上一条本地的注释

//fileBrowser.BasePath = "/ckfinder/";

//与CKEditor对象绑定,CKEditorControl1是网站中CKEditor实例的ID

fileBrowser.SetupCKEditor(CKEditorControl1);

}

至此,完成任务。可以利用CKEditor + CKFinder结合上传文件及图片了。

另外,可能会出现找不到CKEditorControl1的问题,这是因为CKeditor控件被放到了数据显示控件里面了,这时候需要使用查找控件的方法找到创建的CKEditor控件就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: