FckEditor 2.6.4升级手记

说是升级,其实就是把原来的版本替换掉

1.先到www.fckeditor.net上下载fckeditor(html/js包)和fckeditor.net(专用于aspx环境中处理上传的dll包)

2.将fckeditor中"_"开头的文件都删除掉(基本上都是源码和说明性文档,没啥用处)

3.修改fckconfig.js

FCKConfig.DefaultLanguage  = 'zh-cn' ; //改为简体中文
...
var _FileBrowserLanguage = 'aspx' ; // 设置上传处理的服务端语言
var _QuickUploadLanguage = 'aspx' ; // 设置上传处理的服务端语言

4.上传处理

打开 \editor\filemanager\connectors\aspx\config.ascx

修改CheckAuthentication(),这里我改为仅登录后才能上传(当然你可以根据自己的要求来修改,甚至直接返回true都可以,不过这样会有安全问题,任何人都可以直接上传)

private bool CheckAuthentication()
{  
   //return false;     
   return HttpContext.Current.User.Identity.IsAuthenticated;
}

5.扩展FredCK.FCKeditorV2.dll

默认情况下,fckeditor上传后的文件名是不会自动重命名的,而且默认上传后的文件全部在一个目录下,另外不知道为何,2.6.4中居然去掉了上传文件最大尺寸的限制

好了,一一处理,打开FCKeditor.Net_2.6.3.zip下载包中的解决方案

FileBrowser\FileWorkerBase.cs 修改

protected void FileUpload( string resourceType, string currentFolder, bool isQuickUpload )
{
    HttpPostedFile oFile = Request.Files[ "NewFile" ];

    string sFileName = "";

    if ( oFile == null )
    {
        this.SendFileUploadResponse( 202, isQuickUpload );
        return;
    }

//检测文件大小
int _postFileSize = 0;
if (_postFileSize < 1)
{
if (Request.Cookies["FCKeditor:UserUploadSize"] != null)
{
    _postFileSize = Convert.ToInt32(this.Request.Cookies["FCKeditor:UserUploadSize"].Value);
}

if (_postFileSize < 1)
{

    _postFileSize = Convert.ToInt32(base.Application["FCKeditor:UserUploadSize"]);
    if (_postFileSize < 1)
    {
    _postFileSize = Convert.ToInt32(this.Session["FCKeditor:UserUploadSize"]);
    if (_postFileSize < 1)
    {
        _postFileSize = Convert.ToInt32(ConfigurationManager.AppSettings["FCKeditor:UserUploadSize"]);
        if (_postFileSize < 1)
        {
        _postFileSize = 500;//默认500k大小
        }
    }
    }
}
}

if (oFile.ContentLength > _postFileSize * 1024) 
{
this.SendFileUploadResponse(101, isQuickUpload,"","","上传文件不得超过 " + _postFileSize + " K");
return;
}

    // Map the virtual path to the local server path.
    string sServerDir = this.ServerMapFolder( resourceType, currentFolder, isQuickUpload );

    // Get the uploaded file name.
    sFileName = System.IO.Path.GetFileName( oFile.FileName );
    sFileName = this.SanitizeFileName( sFileName ).ToLower();

    string sExtension = System.IO.Path.GetExtension( oFile.FileName );
    sExtension = sExtension.TrimStart( '.' ).ToLower();

//强制把文件名改成Guid.ext形式(当然你也可以自行另定义规则,比如常用的yyyymmddssffff格式)
sFileName = NewComb().ToString().ToLower() + "." + sExtension;

    ...

}

 

Config.cs修改

internal void LoadConfig()
{
    DefaultSettings();

    // Call the setConfig() function for the configuration file (config.ascx).
    SetConfig();

//上传目录设置,优化级cookie>session>application>web.config
//Cookie
    // Look for possible UserFilesPath override options.
string userFilesPath = null;
if (HttpContext.Current.Request.Cookies["FCKeditor:UserFilesPath"] != null) 
{
userFilesPath = HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies["FCKeditor:UserFilesPath"].Value);
}

// Session
if (userFilesPath == null || userFilesPath.Length == 0)
{                
userFilesPath = Session["FCKeditor:UserFilesPath"] as string;
}

    // Application
    if ( userFilesPath == null || userFilesPath.Length == 0 )
        userFilesPath = Application[ "FCKeditor:UserFilesPath" ] as string;

    // Web.config file.
    if ( userFilesPath == null || userFilesPath.Length == 0 )
        userFilesPath = System.Configuration.ConfigurationSettings.AppSettings[ "FCKeditor:UserFilesPath" ];

    // config.asxc
    if ( userFilesPath == null || userFilesPath.Length == 0 )
        userFilesPath = this.UserFilesPath;

    if ( userFilesPath == null || userFilesPath.Length == 0 )
        userFilesPath = DEFAULT_USER_FILES_PATH;

    // Check that the user path ends with slash ("/")
    if ( !userFilesPath.EndsWith( "/" ) )
        userFilesPath += "/";

    userFilesPath = this.ResolveUrl( userFilesPath );

//改为自动按yyyy/mm/dd格式生成上传目录 
userFilesPath += DateTime.Now.Year.ToString().PadLeft(4, '0') + "/" + DateTime.Now.Month.ToString().PadLeft(2, '0') + "/" + DateTime.Now.Day.ToString().PadLeft(2, '0') + "/";

    this.UserFilesPath = userFilesPath;
}

 

源代码下载: http://files.cnblogs.com/yjmyzz/fck2.6.4_Full.rar

说明:解压后zip为原始未做任何修改的版本,AspxDemo里为修改过后的示例

时间: 2024-11-20 18:07:25

FckEditor 2.6.4升级手记的相关文章

家庭宽带升级光纤网络手记

之前,听到这个那个家里都已经升级了光网,甚至连老妈家也升级完成了20M,心里那个羡慕妒忌恨啊.微博上嘟囔了好几次,一直期盼着光网改造早日来我们小区. [申请] 6月等了很久的电信光网升级终于轮到我家的小区了,不免有点小兴奋.其实我家小区里面各路宽带运营商的竞争还是相当激烈的,时不时有聚友网络和联通的小区宽带促销,相比之下电信动作少得多.不过南电信北联通(原网通),带宽建设的基础摆在那里,我是无论如何也不会改投他家的,这个宽带还得选电信.这不,终于等到了. 记得很清楚,那是6月22日星期五,夏至的

在PHP环境下配置在线编辑器FCKeditor

在线 [摘 要] 在线编辑器2.0版确实比1.6版有了许多的改进.首先是FCKeditor的文件结构更加清晰,可以更方便地将其部署在自己的系统中.另外2.0版终于支持了Firefox 1.0浏览器,这将为FCKeditor赢得更多的使用者. 在线编辑器FCKeditor 2.0PHP环境下试用小记 一.简介 2004年11月30日推出了FCKeditor 2.0 RC1版,据其官方网站称:这是FCKeditor 2.0版的第一个稳定版本.大家现在可以考虑正式使用它了.目前支持的后台语言有ASP.

PHP环境下配置在线编辑器FCKeditor

在线编辑器FCKeditor 2.0PHP环境下试用小记 一.简介 2004年11月30日推出了FCKeditor 2.0 RC1版,据其官方网站称:这是FCKeditor 2.0版的第一个稳定版本.大家现在可以考虑正式使用它了.目前支持的后台语言有ASP.ASP.Net.PHP和ColdFusion. 笔者在经过简单的试用发现,在线编辑器2.0版确实比1.6版有了许多的改进.首先是FCKeditor的文件结构更加清晰,可以更方便地将其部署在自己的系统中.另外2.0版终于支持了Firefox 1

FCKeditor在ASP配置环境中的使用

先说一下我的测试环境:XPSP2,IIS5.1,FCKeditor2.0 在IIS上建立一个新的站点,我直接取名为FCKeditor 在DW里建立一个相对应的站点,测试服务器为本机,支持VBScript 下载FCKeditor2.0,这个东西是开源的,网上能下到的地方很多,自己找去-- 下载下来的应该是压缩包,解压到FCKeditor站点根目录,什么都不需要更改,直接就可以开始调用了.等你会了的时候,会发现简单得要死去! 在站点根目录下,新建一个index.asp页面,段内加如下代码(调用编辑器

ie9后fckeditor无法上传图片和弹出浮层内容不显示的问题

升级到IE9后,fckeditor在IE9里的弹出浮动层会出现bug,里面的内容不会出现.所以无论是想在页面编辑器里粘贴内容,还是上传图片等凡是需要弹出窗口操作的东西都会有问题,想要进行其它的操作也只能重新刷新页面.原因是IE9不支持var $=document.getElementById;这样的写法了. 打开下面这个文件 fckeditor/editor/js/fckeditorcode_ie.js 找到第38行的这个方法:FCKTools.RegisterDollarFunction 将原

fckeditor配置方法

如何安装? 1.下载最新版的FCKEDITOR 2.解压缩到你的站点根文件夹中名为FCKEDITOR的文件夹中(名称必须为FCKEDITOR,因为配置文件中已经使用此名称来标示出FCKEDITOR的位置) 3.现在,编辑器就可以使用了,如果想要查看演示,可以按下面方法访问: http:///FCKeditor/_samples/default.html 注意:你可以将FCKEDITOR放置到任何文件夹,默认情况下,将其放入到FCKEDITOR文件夹是最为简单的方法.如果你放入的文件夹使用别的名称

FCKeditor 实战技巧_CSS/HTML

原文:http://3rgb.com,作者:柠檬园主转载请保留此信息 FCKeditor至今已经到了2.3.1版本了,对于国内的WEB开发者来说,也基本上都已经"闻风知多少"了,很多人将其融放到自己的项目中,更有很多大型的网站从中吃到了甜头.今天开始,我将一点点的介绍自己在使用FCKeditor过程中总结的一些技巧,当然这些其实是FCK本来就有的,只是很多人用FCK的时候没发现而已 :P 1.适时打开编辑器 很多时候,我们在打开页面的时候不需要直接打开编辑器,而在用到的时候才打开,这样

老司机的双11手记:这么牛的阿里云数据库,你造怎么用吗?

老司机的双11手记 2016年天猫双11购物狂欢节已经完美落下帷幕,高峰期间订单创建每秒达到了XX万笔,总订单量达到了XX亿,技术指标再次刷新世界纪录.其中XX%的订单通过聚石塔订单推送,并在阿里云云数据库服务(AliCloudDB,曾称RDS)中完成存储和处理.在持续高压力冲击下,整个双11期间AliCloudDB表现坚如磐石: 高峰期间集群的总QPS达到了近XX每秒: 单个商家最高处理订单的能力超过XXX万单: XX万商家在AliCloudDB上稳定运行,全网实现了0故障,0丢单. 华丽数字

手机记账APP随手记完成数千万美元B轮融资

9月1日,手机记账APP随手记完成数千万美元B轮融资.本轮投资由复星集团旗下昆仲资本领投,随手记的A轮投资者红杉资本进一步追加投资. 随手记开发商随手科技有限公司CEO谷风在接受21世纪经济报道记者采访时表示,随手记此轮融资中拒绝了多家大型银行,"主要是从保持随手记的平台地位考虑,不想偏向哪一方". 谷风表示,接下来,随手记将对外开放流量,凭借其1.2亿用户数所带来的内生流量,为互联网金融创业潮中涌现出的众多理财产品和借贷产品等输出流量. 对于复星集团来说,这是其金融产业链布局中的重要