asp.net (2.0)使用fckeditor 方法详解(多图文档)
<转:blog.csdn.net/21aspnet/>FCKeditor是目前最好的html文本编辑器,如果还不明白的话看了下图就知道了
效果图: 550)this.style.width=550; if(this.height>550)this.style.width=(this.width*550)/this.height;">
那么为什么说是FCKeditor的冰冷之心呢?这不是哗众取宠,主要是说它使用起来有点麻烦,下文就详细说明如何搞定这玩意儿。
1.FCKeditor的官方网站是:http://www.fckeditor.net/download
目前最新的FCKeditor 2.4.2版本。 请在此页下载:http://sourceforge.net/project/showfiles.php?group_id=75348
如图所示: 550)this.style.width=550; if(this.height>550)this.style.width=(this.width*550)/this.height;">
要下载FCKeditor2.4.2.zip和 FCKeditor.NET版的2个zip包。
说明:
FCKeditor2.4.2.zip是其最新的Javascript文件和图片什么的;
FCKeditor.NET.zip是ASP.NET调用的DLL在里面。
2.分别解压后把FCKeditor2.4.2.zip里的fckeditor目录整个复制到网站中。
3.解压FCKeditor.NET.zip包后在FCKeditor.Net_2.2\bin\Debug目录里找到FredCK.FCKeditorV2.dll。其他文件没用,把FredCK.FCKeditorV2.dll复制到我们的网站,建立一个Bin目录。
4.引用FredCK.FCKeditorV2.dll。
第一步: 添加引用
5.导入工具箱。 在“工具箱”下右键 550)this.style.width=550; if(this.height>550)this.style.width=(this.width*550)/this.height;">
点击“选择项”。弹出如图窗口: 550)this.style.width=550; if(this.height>550)this.style.width=(this.width*550)/this.height;">
点击浏览,找到dll所在目录。
这时发现工具箱里多出FCKeditor控件。 550)this.style.width=550; if(this.height>550)this.style.width=(this.width*550)/this.height;">
6.拖拽FCKeditor到页面上
7.配置WebConfig <?xml version="1.0"?>
<!--
注意: 除了手动编辑此文件以外,您还可以使用
Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
“网站”->“Asp.Net 配置”选项。
设置和注释的完整列表在
machine.config.comments 中,该文件通常位于
\Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>
<appSettings>
<add key="FCKeditor:BasePath" value="~/fckeditor/"/>
<add key="FCKeditor:UserFilesPath" value="/Files/" />
</appSettings>
<connectionStrings/>
<system.web>
说明:BasePath是fckeditor所在路径,fckeditor由于我们直接放网站目录下这样写就可以,如果您的网站多放几层适当调整即可。 UserFilesPath是所有上传的文件的所在目录。为什么要设置成/Files这样而不是~/Files,因为FCKeditor使用这个值来返回你上传后的文件的相对路径到客户端。否则的话客户访问的时候就会取客户的机器目录而不是http形式的目录。
建议:Files要单独做wwwroot目录下的一个站点比较好,和我们的站点FCKEditor平行。不要把它放FCKEditor里,为什么呢?因为Files是要让客户有写的权限的,如果放FCKEditor下很危险。
8.Files目录要有写的权限。你根据自己网站需求设置那个帐号,本文为方便设置User实际中你可能用ASP.NET帐号更合理。
9.修改fckeditor/fckconfig.js文件
在第182行的位置 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
10.FCKeditor给其瘦身。以_打头的的都是范例文件或源文件,不过建议小心。
11.下面以上传图片示例说明如何使用,
点击“浏览服务器”。
弹出窗口很容易报错
如果报错XML request error: Internal Server Error(500),很可能就是目录路径不对和写权限没有。
选择图像
前台代码:
<%@ Page Language="C#" validateRequest=false AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="FredCK.FCKeditorV2" Namespace="FredCK.FCKeditorV2" TagPrefix="FCKeditorV2" %>
<!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>FCKeditor文本编辑器</title>
</head>
<body>
<form >
<div> <fckeditorv2:fckeditor
></fckeditorv2:fckeditor>
</div>
</form>
</body>
</html>
怎么样获取结果呢?FCKeditor1.Value就是。
二、修改配置
1、fckconfig.js
(1)、FCKConfig.DefaultLanguage
FCKConfig.DefaultLanguage = 'en' ;改为 FCKConfig.DefaultLanguage = 'zh-cn' ;设置默认语言为简体中文
(2)、FCKConfig.ToolbarSets["Basic"]
如果你的编辑器还用在网站前台的话,比如说用于留言本或是日记回复时,那就不得不考虑安全了,在前台千万不要使用Default的toolbar,要么自定义一下功能,要么就用系统已经定义好的Basic,也就是基本的toolbar,内容可以修改。
(3)、FCKConfig.ContextMenu
fckeditor支持编辑域内的鼠标右键功能,为了安全,最好也更改一下。把图像功能去掉,把添加链接功能去掉,因为图像和链接和flash和图像按钮添加功能都能让前台页直接访问和上传文件,要是这儿不改直接给你上传个木马还不马上玩完?
(4)、FCKConfig.FontNames
加上几种我们常用的字体
(5)、FCKConfig.SmileyPath
如果你还想用自己的表情图标的话,那跳改掉这个表情图标的文件夹地址,以及下面的表情图标的文件名,再下面那三个数字是每行显示表情数及弹出窗口的宽和高了,这个的大小要根据您的表情图标排列的窗口的大小而定了。
2、fckeditor.asp
(1)、sBasePath
编辑器位置,即fckeditor.asp所在的目录
3、fckeditor.js
(1)、this.BasePath
编辑器位置,同fckeditor.asp所在的目录
4、editor\filemanager\browser\default\connectors\asp\config.asp (此文件设置上传)
(1)、ConfigIsEnabled
改为ConfigIsEnabled = True,否则不能上传文件。
(2)、ConfigUserFilesPath
按使用情况设置目录
5、editor\filemanager\upload\asp\config.asp (此文件设置快速上传)
(1)、ConfigIsEnabled
改为ConfigIsEnabled = True,否则不能上传文件。
(2)、ConfigUserFilesPath
按使用情况设置目录
6、editor\filemanager\upload\asp\upload.asp
(1)、找到下面的代码
Dim resourceType
If ( Request.QueryString("Type") <> "" ) Then
resourceType = Request.QueryString("Type")
Else
resourceType = "File"
End If
在后面加入代码 ConfigUserFilesPath = ConfigUserFilesPath & resourceType &"/"
这样,上传的文件就可以按文件类型分目录存储了。
|
请发表评论