FCKeditor ASP.NET 上传附件研究

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。

(0)

相关推荐

  • Asp.net FCKEditor 2.6.3 上传文件没有权限解决方法

    打开解决方案, 找到 FileBrowser/FileWorkerBase.cs 文件 复制代码 代码如下: Response.Write( @"(function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.d

  • ASp.net下fckeditor配置图片上传最简单的方法

    1. 原先的配置 把 fckeditor/filemanager/connectors 目录删除: 有同学可能会问了,都删除了怎么上传文件? 呵呵... 2. 不要引用 FredCK.FCKeditorV2.dll; 因为我都是采用js写的,不采用控件的方式: 其实网上有很多人在尝试往 fckeditor/filemanager/connectors目录下注入, 确实也有人不小心直接把FCK编辑器没有任何配置的情况下传到网上导致中招了: 3. 现在讲正题吧,一般来说我们用FCK的时候并不多,在一

  • CKEditor与dotnetcore实现图片上传功能

    本文实例为大家分享了CKEditor与dotnetcore实现图片上传的具体代码,供大家参考,具体内容如下 CKEditor的使用 1.引入js库 <script src="https://cdn.ckeditor.com/4.6.1/standard-all/ckeditor.js"></script> 2.定义一个textarea标签 <textarea id="editor"> </textarea> 3.用Ck

  • 为ckeditor编辑器加上传图片的功能

    CKEditor官方演示是有上传图片和浏览服务器文件功能的,但是我们自己下载回来的却没有这两个功能-- 其实还需要下载另外一个组件:CKFinder,用它配合CKEditor来实现上传功能. 官方提供了PHP,Asp.Net和Asp三个语言版本的CKFinder,下载地址:http://ckfinder.com/download 将CKFinder解压缩到网站目录.调用方法如下(假设CKFinder在网站根目录,可以使用相对路径): CKEDITOR.replace( 'editor1', {

  • FCKeditor编辑器添加图片上传功能及图片路径问题解决方法

    现在很多CMS系统因为安全原因会把后台编辑器里的上传功能给去除,但这样一来对实际使用过程造成了很多麻烦,今天我们以ASPCMS系统的FCKeditor编辑器为例,说明一下如何增加图片上传功能. 1. 打开网站后台编辑器里的admin/editor/fckconfig.js这个文件 找到FCKConfig.ImageUpload = false 这句,把false改成true就行啦. FCKConfig.ImageBrowser = false ; 这里也同样把false改成true 2. 看一下

  • 修改fckeditor的文件上传功能步骤

    1.要点击链接,然后点击里面的上传tab,不熟悉的人可能找不到这个上传功能 2.插入的就是1个链接,我希望插入链接的同时插入1个图片代表文件类型 效果图: 修改fckconfig.js 1. 在FCKConfig.ToolbarSets["Default"] = 中加入'FuJian',位置自己选 2. 最后加上2句 // 附件上传地址 FCKConfig.FuJianUrl = "/FckEdit/upload.jsp"; // 上传的文件类型 FCKConfig

  • 通过Fckeditor把图片上传到独立图片服务器的方法

    我大概思考了下有如下几种方法可以解决: 1.在图片服务器上开通FTP,人为添加图片地址即可,但不方便,特别是在可视编辑器中看图还的多一部操作. 2.在图片服务器上开通FTP,并提高IIS执行dosShell访问ftp,但是不安全. 3.在图片服务器上开通IIS,WEB后台直接访问(还是存在在编辑器中不方便查看的问题,但可以用js控制上传后自动追加到HTML编辑窗口中) 4.利用现有在线编辑器的上传程序来实现. 第三,四种方法比较靠谱,但还需要解决跨域问题,第三种还要单独写程序,改动比较大,用第四

  • asp.net+FCKeditor上传图片显示叉叉图片无法显示的问题的解决方法

    弄了半天也没有找到原因,然后又重新到网上下载几个,还是不行,郁闷坏了,最后结合其他编辑器的用法,才知道是配置文件夹中上传文件夹的路径写错了 比如要上传到项目的根目录下的UserFiles下面,web.config的配置如下: 复制代码 代码如下: <appSettings> <add key="FCKeditor:BasePath" value="~/FCKeditor" /> <add key="FCKeditor:User

  • asp fckeditor自定义上传文件的文件名

    只需要在fckeditor\editor\filemanager\connectors\asp文件夹下的commands.asp修改一下即可 在这个文件中查找一下:FileUpload 会找到这个函数 把 复制代码 代码如下: Dim sFilePath sFilePath = CombineLocalPaths(sServerDir, sFileName) 改为 复制代码 代码如下: Dim sFilePath,ranNum Randomize ranNum=int(90000*rnd)+10

  • 整合ckeditor+ckfinder,解决上传文件路径问题

    这三种情况下所得到的server.MapPath是一致的,这就导致上传之后写入数据库的图片地址和实际图片存储地址不一致,因此,我们需要自定义一个路径地址userDir,让baseUrl只管写入数据库的图片地址,而创建的新目录baseDir为另外一个....这样不管你的网站通过怎样的方式访问都是OK的,这个问题郁闷了很久才解决 asp的config.asp修改如下: Dim baseUrl, baseDir, userDir baseUrl = "../ckfinder/userfiles/&qu

随机推荐