修改fckeditor源代码让其支持附件上传(asp.net)

本文介绍如何修改FCKeditor源代码实现附件上传功能。包括安装步骤、上传流程解析及Uploader.cs修改方法,并提供客户端JS调整建议。
修改fckeditor源代码让其支持附件上传(asp.net) 浏览文章 IT学院 IT人家-为IT人民服务! 最近研究了一下自带的上传功能,对源代码作了一点修改,也是依照开源软件的要求,在网上共享一下。 1,安装 除了一般的那个压缩包外,ASP.NET版的FCKeditor另有一个FCKeditor.Net下载包,里面有一个Visual Studio的Solution,bin/Release里有一个FredCK.FCKeditorV2.dll文件,可以直接COPY到你的ASP.NET项目的bin文件夹里。 2,附件上传流程 FCKeditor通过在编辑界面点击Link或图片按钮打开一个模态对话框,在里面选择本地文件后上传。 这个对话框是Fckeditor/editor/dialog/fck_image.html或fck_link.html。 对话框的js代码在fck_image和fck_link目录里,它们还会调用common/fck_dialog_common.js 上面这些是客户端的事。 在Fckeditor/editor/filemanager/upload/aspx下有一个孤独的upload.aspx,link和image的上传都是通过它走的。 upload.cs里面除了注释外只有一句话,它的code behind 的代码是在前面那个ASP.NET下载包里的Uploader.cs,已经被编译进FredCK.FCKeditorV2.dll了。 3.修改Uploader.cs 3.1 把upload.aspx上唯一的那行代码修改一下。 原版: 修改为:<% @ page autoeventwireup="false" codefile="upload.aspx.cs" inherits="FCKUpload" language="c#" %> 这样,upload.aspx就不再去FredCK.FCKeditorV2.dll寻找自己的behind code,而是在自己身边找. 3.2 从FCKeditor.Net压缩包里提取出Uploader.cs,放在自己的ASP.NET项目的FCKeditor目录里和upload.aspx放在一起。这样,Uploader.cs就成了你的项目中的一部分,完全在你的控制之下。 打开Uploader.cs,里面代码并不复杂。 首先,Uploader.cs里定义的页面类的类名要和upload.aspx的一致,这里我用的是FCKUpload. 然后加上自己的身份验证。 然后,HttpPostedFile oFile = Request.Files["NewFile"];,获得上传文件,FCKeditor的客户应当是一次只上传一个,不必考虑多个同时上传的情况。 获得文件大小,oFile.ContentLength。 获得文件名,HttpContext.Current.Request.Files[0].FileName, 要检查后缀的话,System.IO.Path.GetExtension(FileName); 保存起来,oFile.SaveAs(sFilePath);文件名和路径完全在你的控制中。 最后通过SendResults把错误代码发回去,如果上传成功,可以发0,然后是文件名和文件URL。 3.3客户端 如果有兴趣,可以研究修改一下客户端的那些JS。 4.部署 解压缩FCKeditor.Net压缩包,打开里面的Solution,删掉Uploader.cs,重新编译FredCK.FCKeditorV2.dll,新的dll会小一点,在我这儿是从36K变成32K。(注意要编译成Release版)。 最后用新的dll替换自己项目里的老的dll。 本文转自 http://www.webkey.cn/article/view.asp?id=171 标签词: Uploader.cs FCKeditor 压缩包 upload.aspx SendResults FileName 文件名 对话框 上传 dll
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值