ASP下的FCKeditor 2.6.4.1上传图片配置

来源:互联网 发布:淘宝订单编号前三位 编辑:程序博客网 时间:2024/05/18 21:07
 

自己也看了N多的关于FCKeditor的配置的网络文章,不能说千篇一律,但是也绝对是就那么几种,中间有很多或者错误或者是由于版本不同造成的代码不能在2.6.4.1中使用。在此总结一下个人最近的一点修改经验,主要时上传图片过程中遇到的问题,以供大家参考。

ASP下的FCKeditor 2.6.4.1的配置:

1.瘦身:我就不提了,网络上那些文章都有说删除什么。

2.文件上传:因为我做的是贴图性质的BBS,所以我只对图片上传做了研究,不过我想FLASH和文件上传应该类似。

首先说一下fck的文件夹,必须要以大写的FCK和小写的editor命名,同我的一样,否则如果不能使用,别骂我乱讲话。

先去修改上传的语言,在D:\web\FCKeditor\fckconfig.js中

var _FileBrowserLanguage     = ‘php’ ;     // asp | aspx | cfm | lasso | perl | php | py

var _QuickUploadLanguage     = ‘php’ ;     // asp | aspx | cfm | lasso | perl | php | py

改成

var _FileBrowserLanguage     = ‘asp’ ;     // asp | aspx | cfm | lasso | perl | php | py

var _QuickUploadLanguage     = ‘asp’ ;     // asp | aspx | cfm | lasso | perl | php | py

然后说一下上传的路径修改。以我的机器为例。我的D:\web\ 就是我的IIS默认网站的地址。在D:\web\FCKeditor\editor\filemanager\connectors\asp\config.asp文件中开头部分改为如下:其中upload_images的绝对地址是D:\web\upload_images\上传后按照“D:\web\upload_images\年份\月份\日期\ ”新建文件夹,当然了,你也可直接用“D:\web\年份\月份\日期\ ”,这个地方就是可以加上一个每个用户不同的文件夹的地方,自己用ASP代码去判断一下即可,文件夹不存在的时候它就自动创建了。

Dim ConfigIsEnabled
ConfigIsEnabled = true

Dim ConfigUserFilesPath
ConfigUserFilesPath = "/upload_images/"&year(now())&"/"&right("0"&month(now()),2)&"/"&right("0"&day(now()),2)&"/"

再说一下上传图片的名字修改,这个网络上很多文章里那个"sFileName   = GetNewFileName() &”.”& split(oUploader.File( “NewFile” ).Name,”.”)(1) "我试验了很多次都不能成功,后来觉得是错误的。因为取不到图片的扩展名。所以我的代码如下:在D:\web\FCKeditor\editor\filemanager\connectors\asp\commands.asp中找到"sFileName = oUploader.File( "NewFile" ).Name"将其改为:

sFileName = year(now())&right("0"&month(now()),2)&right("0"&day(now()),2)&right("0"&hour(now()),2)&right("0"&minute(now()),2)&right("0"&second(now()),2)&int(99999*rnd)&"."&oUploader.File( "NewFile" ).Ext

由年月日时分秒+5位随机数字再加上文件扩展名组成。

另一个大家关心的问题,限制上传的图片大小的问题。也在D:\web\FCKeditor\editor\filemanager\connectors\asp\commands.asp中找“oUploader.MaxSize = 0”这句改成“oUploader.MaxSize = 0.5*1024*1024”其中的0.5的单位时M,我的代码就是限制图片小于0.5M。

还有就是上传的图片要限制它的宽和高。这个代码网络上有,我就简单COPY过来,省得再去查找,在D:\web\FCKeditor\editor\dialog\fck_image\fck_image.js中找到

GetE('txtWidth').value = oImageOriginal.width ;
GetE('txtHeight').value = oImageOriginal.height ;

替换成

if(oImageOriginal.width<750){
GetE('txtWidth').value = oImageOriginal.width ;
GetE('txtHeight').value = oImageOriginal.height ;
}else{
GetE('txtWidth').value = 750;
GetE('txtHeight').value = 750* oImageOriginal.height/oImageOriginal.width ;
}

其中750就是你要浏览器显示的宽度,高度是按照原始图片的比例的出来,保证图片不会有拉伸性变形。

最后说一下修改弹出窗口的文字说明。

在D:\web\FCKeditor\editor\dialog\fck_image\fck_image.js中找到

“switch ( errorNumber )”

里面就是各种错误的弹出警告,不过是英文的,大家翻译一下即可,需要提示的一点是“case 202 :”因为我们增加了限制图片大小的选项,所以不能直接翻译,我翻看了一下源码,觉得翻译成“alert( '图片太大或无效的文件类型!' ) ;”比较合适。
大家可以参照我的九寨沟出租车(jzgcz.com)