最近在使用FCKEditor,它是一款功能强大的在线编辑器,使用它一个跟重要的原因是因为它是开源的,并且是免费的。 ^^
下面就让我来讲讲我在使用它时的一些心得以及碰到的一些疑惑,也请各位高手不惜赐教。
先到下面的FCKEditor网站去下载这款软件
http://www.fckeditor.net/download
请注意你需要下载两个文件包(请暂且这么称呼),一个是FCKEditor 2.3.2 ,这个是主文件包,一切功能实现都是要基于它的;另一个是FCKEditor.NET, 里面包含了.NET环境下的一些控件信息。
下载完后你可以看到两个压缩文件,现将它们解压,如图,
笔者本着能用就行的思想,并没有对主文件包进行瘦身,如果读者有这方面需求,可去Google一下,这里就不讲述了,还有本文的开发环境是.NET1.1,后面碰到的问题也只是在该开发环境中遇到。同时,该控件也在2.0环境下测试过,并未出现后面的问题,仅此提醒。
转入正题,然后将FCKEditor文件夹直接拷贝到你的项目的目录中并将它包含在项目中。
接着,找到FCKEditor.NET2.2/bin/Release/FredCK.FCKEditorV2.dll文件引入项目中,再将它放到工具箱中:
将FCKEditor控件从工具箱中拉到你需要的界面上,样子就象下面这样:
好了,该控件就可以在你运行时在页面上呈现出来了,就这么简单!但你不要高兴得太早,以为就此结束,要让它能符合我们自己的定义规则还需要一系列的配置工作。
1. 首先,我们拿FCKEditor自身的文件开刀,找到FCKEditor/fckconfig.js文件,修改里面的代码行,使其变为
var _FileBrowserLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'aspx' ; // asp | aspx | cfm | lasso | php
以使它支持.NET的*.aspx页面。
2. 接着,我们要在系统配置文件中填入如下信息:
<add key="FCKeditor:BasePath" value="~/FCKeditor/" />
<add key="UserFilesPath" value="/UTS/UserFiles/" />
FCKeditor:BasePath是指示我们在系统引入的FCKEditor主文件包的路径,UserFilePath是我们上传文件(包括图片、Flash等等)的路径。
3. 然后在每个使用该控件的页面的后台文件(*.aspx.cs)中,当页面加载是执行下列代码:






4. 也许我们为了防止所有用户共用一个上传文件夹,而定义的规则是在主目录下面以用户帐号来建子目录,将用户的文件分别存放到各自的文件夹下,那你就需要在所有组建初始化前就为其定义实际的上传路径。(注意:必须是在所有组件初始化之前)











让后是对SetUserUploadFilesPath函数的实现。






















好了,我们的配置工作大致结束,但在运行时同样遇到Error 500问题,这是我们在上传文件时经常遇到的错误,在网上查找了很久,后来发现原来是我没有赋给用户对上传文件夹写入的权限,于是,修改如下:
加入ASP.NET Machine Account用户,并对其赋予写入的权限。
到此,我们的工作才算是完成了,运行,感受下FCKEditor为你带来的强大边界功能吧!
问题:
整个问题也是笔者一直没能解决的,问题比较诡异,会尽量描述得清楚点,如果有不懂的地方请回复我,也请哪位解决过类似问题的达人不吝赐教。
项目分为开发环境(在笔者本机上)和 产品环境(真实服务器中),默认浏览器均为IE。
在本机运行测试环境并测试,当URL最前面是http://localhost/ 或者用本机IP地址替换localhost时,功能是OK的,换在别的机器访问本机也是一样可以运行的,所以可以推测控件是好的,IE也支持该功能。
但是任何一台客户端(包括本机和刚才测试的机器)访问真实服务器(我们假设服务器域名为www.123.com)时,就会出现上传界面无法显示,一片空白。
并有报错信息:
但是,还是在同一个客户端上,如果浏览器换作Mozilla FireFox却是没有任何问题的。
问题来了:
1. 控件功能是好的,IE也是支持该功能的。
2. 在同一个客户端上同时访问测试环境和产品环境(排除IE版本问题),只有产品环境出现上述问题。
3. 同样是一个客户端用两种浏览器访问产品环境的URL,只有IE出现问题。
这究竟是因为什么原因导致的,在下百思不得其解,望有哪位达人赐教,在下感激涕零~~! Y_Y
后续:
问题又有了新发现,基于上面的问题,我们又发现了一个新现象,就是如果我们把站点的端口改为81等(总之是非80端口),也就是例如:www.123.com:81, 问题就消失了,所以初步推断是IIS的设置问题,顺便说一下,我们使用的操作系统是Windows Server 2003,系统自带的防火墙已关闭。所以请有IIS设置这方面经验的达人们帮帮忙啊~~~!
来源:https://www.cnblogs.com/Louistin/archive/2007/01/26/631041.html