CKEditor3.0-asp.net-上传文件-配置CKFinder

终于搞定ckfinder的上传功能,特整理了实现的详细过程和大家分享下.

1.下载 ckfinder_aspnet_1.4.1.1.zip 解压后将ckfinder(放在根目录下)。我的是开发网站的根目录,在根目录下同时还有ckeditor这个文件夹。

2.拷贝ckfinder的bin目录下的CKFinder.dll到vs的bin目录下

3.打开 " \ckfinder\config.ascx ",找到BaseUrl,可以看到BaseUrl = "/ckfinder/userfiles/";将其为BaseUrl = "~/ckfinder/userfiles/";
  // 注意“~
  // 以 userfiles 为默认路径,其目录下会自动生成images、flash等子目录。

4、在 ckeditor/config.js 中集成 ckfinder。将以下代码复制到config.js中即可

// 自定义 CKEditor 样式
CKEDITOR.editorConfig = function(config) {
……

CKFinder.SetupCKEditor(null, '../ckfinder/');// 在 CKEditor 中集成 CKFinder,注意 ckfinder 的路径选择要正确。
}

5、在 aspx 页面或者 master 模板页 <head> 标签中载入 ckfinder.js:

  <!-- 载入 CKFinder JS 文件 -->
  <script src="../ckfinder/ckfinder.js" type="text/javascript"></script>

 

  <!-- 使用 ckeditor 必须定义 class="ckeditor" -->

本人新闻发布界面部分代码:

<head runat="server">
    <title>新闻发布</title>
     <script language="javascript" type="text/javascript" src="../ckeditor/ckeditor.js"></script>
      <script language="javascript" type="text/javascript" src="../ckfinder/ckfinder.js" ></script>
</head>

本人用的是textarea控件 ,textbox也可以,自行研究~!

 在<body>标签中使用ckfinder:

<textarea id="text1" name="editor1" class="ckeditor" runat="server" rows="10" style="width: 640px" ></textarea>
                   
                      <script language="javascript" type="text/javascript" >
                     CKEDITOR.replace( 'editor1',
   {
    filebrowserBrowseUrl : '/ckfinder/ckfinder.html',
    filebrowserImageBrowseUrl : '/ckfinder/ckfinder.html?Type=Images',
    filebrowserFlashBrowseUrl : '/ckfinder/ckfinder.html?Type=Flash',
    filebrowserUploadUrl : '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files',
    filebrowserImageUploadUrl : '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images',
    filebrowserFlashUploadUrl : '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash'
   }
);


                      </script>

注意:绿色的代码错误会导致上传文件时候一点击浏览服务器就产生乱码!


 
 常见错误排除方法:

症状:因为安全原因,文件不可浏览。请联系系统管理员并检查CKFinder配置文件。

 

原因:未设置用户身份验证或者用户未登录

解决办法

到config.ascx中找到如下语句

语句:
public override bool CheckAuthentication()
{
reture false;
}

 

更改为:

语句:
public override bool CheckAuthentication()
{
reture true;
}

这样可以去掉身份验证,这样设置从安全性考虑并不好,但是我的目的是先调试能用!

症状:未知错误

原因:设置不进行用户身份验证,但是 BaseUrl 路径不对。

解决办法 检查BaseUrl是否修改为BaseUrl = "~/ckfinder/userfiles/";

参考:http://hi.baidu.com/%B4%F3%CE%B0/blog/item/5f9ead517faadf858c543087.html

http://blog.csdn.net/ishowing/archive/2009/09/24/4589950.aspx

http://www.cnblogs.com/hudonglin/archive/2009/09/11/1564568.html

http://docs.cksource.com/CKFinder/Developers_Guide/ASP.NET/CKEditor_Integration

posted @ 2010-07-15 15:34  大佬辉  阅读(256)  评论(0编辑  收藏  举报