如何使用FredCK.FCKeditor

ngnono 2008-12-08 01:37:57
如题,我有一个 asp.net2.0的站点用到了 FCKeditor.
我是前台一个解决方案,后台一个解决方案.
前台放在服务器webside文件夹里面,后台放在webside/admin里面.
后台的WebConfig配置
<!--FCKeditor配置-->
<!--默认配置-->
<add key="FCKeditor:BasePath" value="~/fckeditor/"/>
<add key="FCKeditor:UserFilesPath" value="~/UploadFiles/"/>
<!--配置结束-->
后台的根目录就是webside/admin/
~/fckeditor/ 是我后台的webside/admin/fckeditor/正确
问题就出来了.因为对于我的后台~/UploadFiles是 webside/admin/UploadFiles
而我希望FCKeditor上传的图片能够放在 webside/UploadFiles里面
不知道如何来设置.

...全文
413 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengzhensen 2012-10-09
  • 打赏
  • 举报
回复
net/PointForum/ui/scripts/csdn/Plugin/003/onion/16.gif][/img]
分享大哥 2008-12-09
  • 打赏
  • 举报
回复
修改了js后好像还有一个与asp.net上传的相关页面的内容也需要修改,最后还要有相关文件夹的写入权限;

FCKeditor的文件管理程序在filemanager文件夹中,又分为浏览(browser)和上传(upload)两种。浏览是指浏览服务器文件并可以选择,也可以上传本地文件至服务器;上传是指快速上传(QuickUpload),在窗口中点“上传”选项卡打开就是,跟我们使用的UBB编辑器有点相似,选择本地文件后上传就行。
也就是说FCKeditor中有一个文件浏览,有两个文件上传,而这些设置有些在一个文件中,有的则在多个文件中。比较复杂,改动比较多,我们再分几个小点儿来说。

①打开和关闭文件浏览和上传功能
有三个文件跟这个开关有关系,一个是js文件,两个是asp文件,前者关闭后界面中不出现相关窗口或按钮,后者关闭后相关功能不可用。
首先是fckconfig.js文件,以下内容设为true为开,false则为关。
文件浏览和浏览中上传功能:


FCKConfig.LinkBrowser = false ;
FCKConfig.ImageBrowser = false ;
FCKConfig.FlashBrowser = false ;


文件快速上传功能:

FCKConfig.LinkUpload = true ;
FCKConfig.ImageUpload = true ;
FCKConfig.FlashUpload = true ;


其次设置两个asp文件:
editor\filemanager\browser\default\connectors\asp\config.asp

ConfigIsEnabled = False


表示文件浏览关闭
editor\filemanager\upload\asp\config.asp

ConfigIsEnabled = True


表示文件快速上传打开

②文件上传或浏览的路径设置
注意FCKeditor是不支持虚拟目录的,您的所有路径都是针对网站根目录的绝对路径,这点对于在本地测试用虚拟目录,发布到远程用网站目录的开发者不太方便。我的就是这样,WinXP系统只能一个站点,只有用虚拟目录表示不同的网站,在本地测试好了,上传前还要临时更改这个设置。
文件浏览路径,打开文件editor\filemanager\browser\default\connectors\asp\config.asp:

ConfigUserFilesPath = "/attachments/"


快速上传的路径,打开文件editor\filemanager\upload\asp\config.asp:


ConfigUserFilesPath = "/attachments/"


我的文件目录在http://127.0.0.1/temp/下面,就照以上设置。如果在本地测试这个网站在虚拟目录xxx中,则应该设置为:

ConfigUserFilesPath = "/127.0.0.1/temp/"

③文件快速上传的一个源文件BUG
以上设置好后,文件浏览和浏览中上传可以顺利进行,但是你会发现“快速上传”不能用。现象就是当选择好本地文件后,点击“上传至服务器”的按钮后没有任何反应。这就是因为fckconfig.js文件中的一个bug所致。
打开fckconfig.js文件,把FCKConfig.QuickUploadLanguage字样的地方,替换成_QuickUploadLanguage,一共要替换三个地方。前者没有定义就使用,所以有错,按代码意图应该和后者的值一样的。

④上传文件名自动更名
FCKeditor不支持中文文件名称,所以我们要让文件存入服务器时更改名称。由于有两个上传的地方,而且所用文件不同,所以两个文件应该同时改,我们先来看看快速上传的文件,打开editor\filemanager\upload\asp\upload.asp,在文件最后添加以下函数:


Public Function GetNewFileName()
dim ranNum
dim dtNow
dtNow=Now()
randomize
ranNum=int(90*rnd)+10
GetNewFileName=year(dtNow) & right("0" & month(dtNow),2) & right("0" & day(dtNow),2) & right("0" & hour(dtNow),2) & right("0" & minute(dtNow),2) & right("0" & second(dtNow),2) & ranNum
End Function


我们用年月日时分秒和两位随机数字来作为文件名,这样既能够分辨出文件上传时间,也不容易重名。
然后仍然是这个文件,找到:
'' Get the uploaded file name.
sFileName = oUploader.File( "NewFile" ).Name


把它改为:

'' Get the uploaded file name.
sFileName = GetNewFileName() &"."& split(oUploader.File( "NewFile" ).Name,".")

上面说的是快速上传的文件,而文件浏览中上传则是更改另外一个文件(editor\filemanager\browser\default\connectors\asp\commands.asp),其修改方法和上面那个文件一样:添加一个函数,修改一行代码。
ngnono 2008-12-09
  • 打赏
  • 举报
回复
自己顶
amingo 2008-12-08
  • 打赏
  • 举报
回复
帮LZ顶

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧