FCKeditor相关问题

        当前项目的网页编辑器选用了开源的FCKeditor。由此也就引出了一些关于他的一些小问题,在此备忘。

        对于大多数使用网页编辑工具的人来说,FCKeditor并不令人陌生。开源和对多浏览器的支持无疑成为很多网站设计的首选。关于其配置问题网络资源举不胜举,我也就不加赘述。在此只是写些我遇到的比较棘手的问题。

        1.FCKeditor的跨网站上传和显示问题

                  一般网站都采取前后台分离结构,而前台有时就和后台分别有不同的域名。可FCKeditor上传图片时一般将路径存储在文本的数据里,这就造成了前台的域名不同时找不到图片的问题(可能没说清楚,比如后台传了/a/a.jpg,而前台显示只能按照前台的域名显示,如http://123.com/a/a.jpg,可后台却是http://456.com/)。解决如下:

            修改  /FCKeditor/editor/dialog/fck_image/fck_image.js  文件的                    SetUrl(  url,  width,  height,  alt  )  函数  ,把                    GetE( 'txtUrl ').value  =    url  ;  改为                    GetE( 'txtUrl ').value  =  "http://456.com"  +  url  ; 

         2.FCKeditor上传图片重命名       

FCKeditor 的文件上传默认是不改名的,本地的文件名是什么,上传后保留原来的文件名;如果存在同名文件,则会被自动在文件名后面加 (n) 来标识。

FCKeditor For ASP.NET 的上传部分被编译到 DLL 文件里面了,所以只能通过修改源代码,再重新编译后方能使用。

使用:FCKeditor.Net_2.5.zip,asp.net 2.0版

找到项目中的FileBrowser/FileWorkerBase.cs

while (true)             

{                 

        string sFilePath = System.IO.Path.Combine(sServerDir, sFileName);

        if (System.IO.File.Exists(sFilePath))                 

        {                     

            iCounter++;                     

            sFileName = System.IO.Path.GetFileNameWithoutExtension(oFile.FileName) + "(" + iCounter + ")." + sExtension;

            iErrorNumber = 201;

        }                 

        else                 

        {                     

            oFile.SaveAs(sFilePath);

            break;

        } 

}
修改后的代码变成:
while (true)

{

        sFileName = DateTime.Now.ToString("yyyymmddhhmmss", System.Globalization.DateTimeFormatInfo.InvariantInfo) + "." + sExtension;//以时间命名文件

         string sFilePath = System.IO.Path.Combine(sServerDir, sFileName);



        oFile.SaveAs(sFilePath);

        break;

}

重新生成解决方案。在网站项目中删除旧的FredCK.FCKeditorV2.dll,再添加新的引用,就OK了。

引自:http://blog.csdn.net/cnami/archive/2008/04/15/2293340.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值