FCKeditor富文件编辑的配置,使用,技巧

今天终于完成啦fckeditor的文件上传的配置,主要是 <add key="FCKeditor:BasePath" value="/项目名称/fckeditor/"/>,以前没有加项目名称

参考内容如下:

一 简介
   FCKeditor是一款功能强大的开源在线文本编辑器(DHTML editor),它使你在web上可以使用类似微软Word 的桌面文本编辑器的许多强大功能。它是轻量级且不必在客户端进行任何方式的安装。FCKeditor兼容 Firefox, Mozilla, Netscape 和 IE。

二 FCKEditor的安装、配置和使用
安装:
1. 下载FCKeditor2.4.2.zip和FCKeditor.NET版的2个zip包)FCKeditor2.4.2.zip是其最新的Javascript文件和图片等;FCKeditor.NET.zip是一个ASP.NET控件DLL文件。
2. 启用Vs2005新建一个C#的WEB Site工程,取名FCKPro。
3. 把下载的FCKeditor2.4.2.zip文件包直接解压缩到FCKPro的根目录下,这样根目录下就得到一个FCKeditor文件夹,里面富含所有FCKeditor的核心文件。
4. 把下载的FCKeditor.Net.zip随便解压缩到你硬盘的一个空目录,里面是FCKeditor.Net的源代码,你可以对它进行再度开发,本文尚不涉及本内容,我们只是直接使用其目录下的\bin\Debug目录中的FredCK.FCKeditorV2.dll文件。
5. 在VS2005中添加对FredCK.FCKeditorV2.dll的引用:
(1) 在FCKPro工程浏览器上右键,选择添加引用(Add Reference…),找到浏览(Browse)标签,然后定位到你解压好的FredCK.FCKeditorV2.dll,确认就可以了。这时,FCKPro工程目录下就多了一个bin文件夹,里面包含FredCK.FCKeditorV2.dll文件。当然,你也可以完全人工方式的来做,把FredCK.FCKeditorV2.dll直接拷贝到FCKPro\bin\下面,VS2005在编译时会自动把它编译进去的。
(2) 为了方便RAD开发,我们把FCKeditor控件也添加到VS的工具箱(Toolbox)上来,展开工具箱的常用标签组(General),右键选择组件(Choose Items…),在对话框上直接找到浏览按钮,定位FredCK.FCKeditorV2.dll,然后确认就可以了。这时工具箱呈现这样会省去很多在开发时使用FCKeditor控件时要添加的声明代码。
FCKeditor详细的设置:
6. 进入FCKeditor文件夹,编辑 fckconfig.js 文件,此步骤是必须的,也是最重要的一步。
(1)修改
var _FileBrowserLanguage = 'asp' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'asp' ; // asp | aspx | cfm | lasso | php
改为
var _FileBrowserLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'aspx' ; // asp | aspx | cfm | lasso | php

(2)配置语言包。有英文、繁体中文等,这里我们使用简体中文。
修改
FCKConfig.DefaultLanguage = 'en' ;

FCKConfig.DefaultLanguage = 'zh-cn' ;
(3)配置皮肤。有default、office2003、silver风格等,这里我们可以使用默认。
FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;
(4)在编辑器域内可以使用Tab键。(1为是,0为否)
FCKConfig.TabSpaces = 0 ; 改为FCKConfig.TabSpaces = 1 ;
(5)加上几种我们常用的字体的方法,例如:
修改
FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;

FCKConfig.FontNames = '宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana'
(6)编辑器域内默认的显示字体为12px,想要修改可以通过修改样式表来达到要求,打开/editor/css/fck_editorarea.css,修改font-size属性即可。如font-size: 14px;
(7)关于安全性。
如果你的编辑器用在网站前台的话,那就不得不考虑安全了,在前台千万不要使用Default的
toolbar,要么自定义一下功能,要么就用系统已经定义好的Basic,也就是基本的toolbar,
修改
FCKConfig.ToolbarSets["Basic"] = [
     ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About']

FCKConfig.ToolbarSets["Basic"] = [
['Bold','Italic','-','OrderedList','UnorderedList','-',/*'Link',*/'Unlink','-','Style','FontSize','TextColor','BGColor','-','Smiley','SpecialChar','Replace','Preview']] ;
这是我改过的Basic,把图像功能去掉,把添加链接功能去掉,因为图像和链接和flash和图像按钮添加功能都能让前台页直接访问和上传文件,要是这儿不改直接给你上传个木马还不马上玩完?
当然也可以配置一下WebConfig,也能让它确保安全,接下来我们将讲到。
7. FCKPro工程项目的设置:
(1)配置WebConfig,在<appSettings>节点添加,如下所示:
<appSettings>
   <add key="FCKeditor:BasePath" value="/项目名称/fckeditor/"/>
   <add key="FCKeditor:UserFilesPath" value="/项目名称/Files/" />

</appSettings>
说明:BasePath是fckeditor所在路径,fckeditor由于我们直接放网站目录下这样写就可以,如果您的网站多放几层适当调整即可。UserFilesPath是所有上传的文件的所在目录。我们新建了一个Files文件夹放在了项目中做为上传文件的所在目录,这里为了方便,但由于考虑到安全性,我们建议Files要单独做wwwroot目录下的一个站点比较好,和我们的站点FCKEditor平行。不要把它放FCKEditor里,为什么呢?因为Files是要让客户有写的权限的,如果放FCKEditor下很危险。Files目录要有写的权限。你根据自己网站需求设置那个帐号,本文为方便设置User实际中你可能用ASP.NET帐号更合理。
(2)在FCKpro工程项目中编写一个最简单的页面
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" validateRequest="false" %>
<%@ Register Assembly="FredCK.FCKeditorV2" Namespace="FredCK.FCKeditorV2"
TagPrefix="FCKeditorV2" %>
//这里要主要两个参数
//默认为<%@ Page Language="C#"  AutoEventWireup="true"   CodeFile="Default.aspx.cs"
//Inherits="_Default" %>
//我们要添加一个参数 validateRequest=false,否则提交带html代码的内容会报错
//从客户端(...)中检测到有潜在危险的 Request.Form 值。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
   <form id="form1" runat="server">
    <div>
       <FCKeditorV2:FCKeditor ID="FCKeditor1" runat="server">
       </FCKeditorV2:FCKeditor>
    </div>
   </form>
</body>
</html>
如何获取其内容呢?读取FCKeditor1控件的Value属性值即可。
8. 结束语:现在的文本编辑器很多,FCKeditor算是一个比较难用的东东,还有个类似的控件FreeTextBox也很好用,不过它的最新版似乎收费了。
三 FCKeditor精简版的制作方法
  进入FCKeditor文件夹,把所有“_”开头的文件和文件夹删掉,这些都是一些范例,只保留editor文件夹、fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml就可以了;
  进入editor文件夹,删掉“_source”文件夹,里面放的同样是源文件;
  退回上一级目录进入filemanager文件夹,有browser和upload两个文件夹。进入browser\default\connectors,只保留aspx文件夹,其余的删掉;mcpuk目录亦可删除;upload也一样,只保留aspx文件夹;
  退到editor再进入images文件夹,smiley里面放的是表情图标,有msn和fun两个系列,如果你想用自己的表情图标,可以把它们都删除;如果你想用这里的表情图标那就不要删了;
  lang里面放的是语言包,如果只是用简体中文,那么只保留fcklanguagemanager.js、zh-cn.js两个文件就行了,建议也保留en.js(英文)、zh.js(繁体中文)两个文件,fcklanguagemanager.js是语言配置文件,有了它才能和fckconfig.js里的设置成对,对应上相应的语言文件,一定要保留!
  再退出lang文件夹,进入skins文件夹,如果你想使用FCKeditor默认的奶黄色,那就把除了default文件夹外的另两个文件夹直接删除,如果想用别的,那就看你自己的喜好了。
至此,文件精简完毕,由原来的2.55M变成现在的797K了。接着修改设置。
四 与FCKEditor有关的网站
1. http://www.fckeditor.net
FCEditor项目有上面的网站管理和维护
2. http://sourceforge.net/
拥有该项目的开源网站

 不过安装后还是有的不尽人意的地方,在显示中文的时候显示的是繁体中文而不是简体中文,去fckeditor官方网站查看发现它是支持简体中文的。看了一下Provider程序发现进行如下修改就可以支持简体中文了
将DSFCKEditorProvider文件夹下的DSFCK2HtmlEditorProvider.vb文件中的
cntlFck.DefaultLanguage = Left(System.Threading.Thread.CurrentThread.CurrentUICulture.Name, 2)
改为:cntlFck.DefaultLanguage = System.Threading.Thread.CurrentThread.CurrentUICulture.Name.ToLower()

 

使用FCKeditor上传图片、Flash等文件时,文件名中的中文会显示为乱码,在网上搜了一下前辈们的解决方法,没找到很好的解决办法。看来还有N多的人和我一样的困惑,但解决办法又如此的简单:

将 editor\filemanager\browser\default\frmupload.html 文件的编码改为UTF-8即可。

操作方法:

打开该文件 >> 另存为 >> 点“保存”按钮右边的下拉箭头 >> 编码保存... >> 替换原文件 >> Unicode-代码页1200


 

 

你可能感兴趣的:(fckeditor)