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

来源:互联网 发布:informix批量生成数据 编辑:程序博客网 时间:2024/06/05 12:39

首先在网站上下载需要的组件!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目录,如下图所示

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

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

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

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

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

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

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

ASP.NET中CKEditor+CKFinder的配置方法
查看大图

然后修改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控件就可以了。

原创粉丝点击