FCKeditor ASP.NET 上传附件研究
2009-06-19 23:30
633 查看
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,里面除了注释外只有一句话,它的code behind 的代码是在前面那个ASP.NET下载包里的Uploader.cs,已经被编译进FredCK.FCKeditorV2.dll了。
3.修改Uploader.cs
3.1 把upload.aspx上唯一的那行代码修改一下。
原版:< %@ page autoeventwireup="false" inherits="FredCK.FCKeditorV2.Uploader" language="c#" % >
修改为:< % @ 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,里面代码并不复杂。
首先,你应该加上自己的身份验证。
然后,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。
安装就不多说了,除了一般的那个压缩包外,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,里面除了注释外只有一句话,它的code behind 的代码是在前面那个ASP.NET下载包里的Uploader.cs,已经被编译进FredCK.FCKeditorV2.dll了。
3.修改Uploader.cs
3.1 把upload.aspx上唯一的那行代码修改一下。
原版:< %@ page autoeventwireup="false" inherits="FredCK.FCKeditorV2.Uploader" language="c#" % >
修改为:< % @ 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,里面代码并不复杂。
首先,你应该加上自己的身份验证。
然后,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。
您可能感兴趣的文章:
相关文章推荐
- asp.net文本编辑器(FCKeditor)FCKeditor_2.6.3 FCKeditor.Net_2.6.3.Dll 如何使fckeditor 支持上传附件
- 修改fckeditor源代码让其支持附件上传(asp.net)
- asp.net 动态添加多附件上传
- ASP.NET修改FCKeditor中asp.net上传文件时的命名
- ASP.NET中关于上传附件的大小设置问题
- ASP.NET 应用中大文件上传研究
- FCKEditor 2.6.4 Asp.net上传文件没有权限解决
- Asp.net动态添加附件上传
- asp.net大附件上传问题
- asp.net 无刷新附件上传实现方法
- ASP.NET环境下配置FCKEditor并上传图片及其它文件
- FCKEditor 2.6.3 Asp.net上传文件没有权限解决
- jquery easyui filebox 上传附件 + asp.net后台
- Asp.net动态添加附件上传
- ASP.NET FCKeditor 上传修改,添加对文件的类型以及大小的限制
- asp.net使用jQuery Uploadify上传附件示例
- ASP.NET附件上传下载
- asp.net+FCKeditor上传图片显示叉叉图片无法显示的问题的解决方法
- ASP.Net文件上传研究开篇之—— 不使用服务器控件的文件上传
- ASP.Net文件上传研究之二——一种更高效的限制上传文件大小的方法