不重新编译DLL,让FCKEditor支持附件上传

简介:

最近在忙着做一个小项目,就是一个企业内部的论坛,其中最基本的一点就是富文本编辑帖子和回帖。目前市面上用的比较多的富文本编辑器有:

FreeTextBox 一个有很多年历史的富文本编辑器了,使用简单,而且一般的使用是免费的,但是不开源,上传图片上传附件等功能没有,扩展性差。

image

CuteEditor 最强大的富文本编辑器,巨牛无比,但是是收费的,个人使用的话用下破解版倒无所谓,要想在企业中使用那就得买了,所以虽然强大,但是想节约的话就不考虑这个了。看看他的菜单就知道他有多牛了:

image

FCKEditor(升级版CKEditor)强大的开源富文本编辑器,各个语言中都可以使用。支持上传图片、Flash等,功能强扩展性强。

image
image

TinyMCE 也是一个开源的富文本编辑器,不过名气没有FCKEditor大,功能还是不错。

image

KindEditor 一个国人开发的富文本编辑器,貌似还不错,没有深入研究。

image

SharePoint的富文本编辑器,功能很弱,做的很烂,在MOSS中直接使用还好,如果不是MOSS环境那就完全没有必要使用了。

……

介绍了那么多,接下来还是回到主题,说说FCKEditor的配置修改吧。我在项目中使用的是FCKEditor2.6.3,FCKEditor本身非常强大,但是不知道为什么,默认情况下只支持上传图片和Flash,不支持上传一般的附件。网上有修改FCKEditor源代码,然后重新编译成dll,再放在服务器上。这种方法太麻烦了,经过简单的调试了下FCKEditor的代码,发现可以通过直接修改配置文件来上传文件。

具体修改方法就是打开fckeditor文件夹下的fckconfig.js文件,找到FCKConfig.LinkUploadURL ,修改如下:

FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=File';

OK,就改这一个地方就够了。现在点击“插入超链接”,切换到“上传”选项卡,选择本地文件,然后点击“发送到服务器上”按钮既可。

image

然后就可以以超链接的方式添加到编辑框中,如图:

image

这里默认的是WebImages/FCK目录,在论坛中我们希望将用户上传的文件发布到D盘,每个用户上传的文件放在自己的登录名所命名的文件夹下面,那么可以修改fckeditor\editor\filemanager\connectors\aspx\config.ascx文件,修改代码如下:

string loginName = Page.User.Identity.Name.Substring(Page.User.Identity.Name.IndexOf("\\") + 1);
UserFilesPath = "/Files/" + loginName;//文件的虚拟目录
UserFilesAbsolutePath = @"D:\Files\"+loginName;//文件保存到服务器上的绝对路径

这样上传的文件就会保存到D盘Files文件夹下的用户名文件夹中,需要在IIS中设置虚拟目录Files,指向D盘Files文件夹,这样用户才可以在网站中看到该文件夹中的文件。

我们要使用时间来命名文件夹或者使用其他方式来命名文件夹只需要修改这两个属性即可.OK,本项目中FCKEditor的配置修改就讲这么多了!

目录
相关文章
|
10天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1216 5
|
9天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1181 87
|
10天前
|
云栖大会
阿里云云栖大会2025年9月24日开启,免费申请大会门票,速度领取~
2025云栖大会将于9月24-26日举行,官网免费预约畅享票,审核后短信通知,持证件入场
1776 12
|
19天前
|
人工智能 运维 安全
|
2天前
|
资源调度
除了nrm-pm,还有哪些工具可以管理多个包管理器的源?
除了nrm-pm,还有哪些工具可以管理多个包管理器的源?
230 127
|
10天前
|
弹性计算 Kubernetes jenkins
如何在 ECS/EKS 集群中有效使用 Jenkins
本文探讨了如何将 Jenkins 与 AWS ECS 和 EKS 集群集成,以构建高效、灵活且具备自动扩缩容能力的 CI/CD 流水线,提升软件交付效率并优化资源成本。
362 0