FCKeditor2.6.3配置使用

时间:2022-10-29 16:35:16

一、下载配置
  FCKEditor官方下载地址:http://www.fckeditor.net/download ,目前最新的版本是2.6.4。如需在.NET环境中使用,则需要下载FCKeditor_2.6.3.zip和FCKeditor.Net_2.6.3.zip。
  下载完成后,解压FCKeditor_2.6.3.zip,其中有很多文件中.net环境中是使用不到的,可以删除掉:
  1、_samples文件夹和带下划线的文件。如果想看示例,则可以保留_samples文件夹。
  2、fckeditor目录下保留editor文件夹,fckconfig.js,fckeditor.js,fckstyles.xml,fcktemplates.xml,其中fckconfig.js是配置文件,fckeditor.js是一个API文件,fckstyles.xml里面有一些文字格式和工具栏按钮的设置,fcktemplates.xml是编辑器的模板文件,可以自定义模板。
  3、editor/lang目录中保留en.js,zh.js,zh-cn.js文件。
  解压FCKeditor.Net_2.6.3.zip,选择bin/Release中对应版本的dll,复制到网站项目的bin目录。
  修改fckconfig.js: FCKConfig.DefaultLanguage = 'zh-cn';
                           var _FileBrowserLanguage= 'aspx';
                               var _QuickUploadLanguage= 'aspx';
     在web.config中增加:<appSettings>
                                        <appSettings>
                                              <add key="FCKeditor:BasePath" value="~/FCKeditor2.6.3/fckeditor/"/>
                                              <add key="FCKeditor:UserFilesPath" value="/upfiles/"/>
                                        </appSettings> 
      在前台页面使用,先添加引用FredCK.FCKeditorV2,再在aspx页面增加
  <%@ Register Assembly="FredCK.FCKeditorV2" Namespace="FredCK.FCKeditorV2" TagPrefix="FCKeditorV2" %>
     在需要添加编辑器的地方增加
     <FCKeditorV2:FCKeditor ID="NewsInfo" runat="server">
     </FCKeditorV2:FCKeditor>
     用NewsInfo.Value即可取得其内容。
二、扩展
     1、取消浏览服务器。
          为安全着想,最好在fckeditor/fckconfig.js中作如下设置:
           FCKConfig.LinkBrowser = false;
           FCKConfig.ImageBrowser = false;
           FCKConfig.FlashBrowser = false;
           在UploadAllowedExtensions中可适当增加上传类型文件。
      2、
           
三、常见问题
  1、问题描述:
          “/”应用程序中的服务器错误。
      --------------------------------------------------------------------------------
         无法找到资源。 
         说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。 
         请求的 URL: /fckeditor/editor/fckeditor.html

         解决办法:多半是BasePath路径配置错误,或者是其他路径配置错误。

     2、问题描述:
             FCKeditor2.6.3配置使用

         解决办法:在/fckeditor/editor\filemanager\connectors\aspx中找到config.ascx文件,将其中的CheckAuthenticatioin()方法的返回值改成true。不过最好不要设成true,而是增加客户验证逻辑。

     3、问题描述:
          上传文件出现“Invalid request”错误。

          解决办法:在fckconfig.js文件中找到
               FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=File&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + 
_FileBrowserExtension ) ;
              在其中加多红色字样即可。
           还需要在 FCKConfig.ImageBrowserURL的值中加入Type=Image?,在FCKConfig.FlashBrowserURL的值 中加入Type="Flash"。这是在LinkBrowser设置为true的情况下。
           FCKConfig.LinkUploadURL、FCKConfig.ImageUploadURL、FCKConfig.FlashUploadURL也如法炮制。

     4、问题描述:
          上传文件名含有中文的文件时提示 "invalid file type"。
 
          解决办法:
          <location path="~/FCKeditor2.6.3/editor/filemanager/connectors/aspx/upload.aspx">
             
<system.web>
                 
<globalization requestEncoding="utf-8" responseEncoding="gb2312"/>
             
</system.web>
         </location>

     5、问题描述:
         上传的文件没有到指定的文件夹。
        
         解决办法:打开fckeditor\editor\filemanager\connectors\aspx目录下的config.ascx文件,设置:
         TypeConfig[ "File" ].DeniedExtensions            = new string[] { };
         TypeConfig[
"File" ].FilesPath                    = "%UserFilesPath%file/";
         TypeConfig[
"File" ].FilesAbsolutePath            = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%file/" );
         TypeConfig[
"File" ].QuickUploadPath            = "%UserFilesPath%file/";
         TypeConfig[
"File" ].QuickUploadAbsolutePath    = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%file/" );
         其他Image、Flash、Media也是如此设置。
    
     6、问题描述:
          上传有中文名的文件出现乱码的问题。

          解决问题:打开fckeditor/editor/dialog/fck_link目录下的fck_link.js文件,找到
                        oLink.innerHTML = sInnerHtml ; // Set (or restore) the innerHTML
                        修改为: var tempInnerHtml = decodeURI(sInnerHtml);
                                    tempInnerHtml = tempInnerHtml.substring(tempInnerHtml.lastIndexOf('/')+1,tempInnerHtml.length);
                                    oLink.innerHTML = tempInnerHtml;

       
四、注意事项
  1、FCKeditor:UserFilesPath的值要设置成/upfiles/形式,而不是~/upfiles/形式,当然upfiles可以换成你自身的上传文件夹的名字。因为~/Files的形式
在服务器端可以编译解释的,但在在客户端无法解释此形式。如果使用~/upfiles形式,那么所有上传文件的链接就会是这样http://~/upfiles/Image/1.gif,会发生路径未找到的错误。
         upfiles不要放在FCKeditor2.6.3文件夹里面,因为upfiles文件夹是要让客户端有写的权限,而让客户端写FCKeditor2.6.3文件夹会很危险。