架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10072|回复: 0

[ASP.NET] Ckeditor与Ckfinder整合 上传图片功能(.net版本)

[复制链接]
发表于 2015-4-17 16:20:20 | 显示全部楼层 |阅读模式

两天了,终于实现了Ckeditor与Ckfinder整合  上传图片功能。

在这里我写一下我的心得吧。

为了实现新闻的编辑模块,师兄给我介绍了Ckeditor。

首先在 http://ckeditor.com/ 下载.net版本的Ckeditor,我这里用的是ckeditor_aspnet_3.6.4。


          下载后,解压开。但是这里并不是所有都是有用的,所以,可以把
         
            其中sample为例子,source为源文件
            ,直接删除
            ,目的是为了减少editor的体积。然后将整个文件夹直接拷贝到网站的根目录下.引用
            ckeditro.net.dll
         
        


       在你需要使用editor控件的页面头部添加:
   


        
          <scrip去掉t src="/ckeditor/ckeditor.js" type="text/javascrip去掉t"></scrip去掉t>
         

          <scrip去掉t type="text/javascrip去掉t">
         

                 window.onload = function () {
         

                      CKEDITOR.replace("txtContent");
         

                  }
         

          </scrip去掉t>
        
      


        body里面
        :
      

<CKEditor:CKEditorControl ID="CKEditor1" BasePath="~/ckeditor/" runat="server">
</CKEditor:CKEditorControl>

后台代码也很简单:

article.ARTICLECONTENT = CKEditor1.Text; //这是把编辑的内容赋值给article的model类的ARTICLECONTENT 字段里面。

这样,我的编辑器成功的完成了!

但是一个很大的问题又出现了,那就是Ckeditor没有上传图片的功能,这个真心让人头疼。这么办?上网百度呗。

一上网,发现了有很多的方法可以解决,有的说是,在编辑器的外面自作一个图片上传的功能,然后在传进服务器的时候也顺带着把他的服务器链接路径传进编辑器的当前光标,那就去实现吧,做着做着,突然发现你点外面的上传图片时,光标根本就不在编辑器里了,这怎么办???想啊想,唉,以目前的知识,我是没办法搞定的了,只能放弃吧。(如果有哪位大神知道了,留言告诉我一下啊,谢谢);有的说,自己写一个JS来实现这个功能,然后插在编辑器里,来完成他,这样的文章有很多:

1、 http://www.cnblogs.com/lts8989/archive/2011/08/04/2127326.html

2、 http://www.cnblogs.com/striiiiing/archive/2012/08/15/2640792.html

这两篇我是觉得挺不错的,但是,我自己JS知识薄弱,试着写了一下,但是还是没能成功的实现。

好吧,看来我只能用Ckeditor与Ckfinder整合了,本来很不想用Ckfinder的,因为他是收费的,不爽!!!但是那有啥,不在官网下就好了,我自己直接我网上下资源咯,好吧终于我找到了一个提供了很详细的资源的(在这里要感谢一些这位兄弟!!)网址: http://download.csdn.net/download/q8347901/3887066 (这里有Ckeditor与Ckfinder还有详细的介绍文章,very good!)

把Ckfinder下了下来,然后 复制/bin目录下的ckfinder.dll文件至站点bin目录 ,.复制ckfinder目录至站点根目录下(可另选择路径) ,引用 ckfinder.dll

配置一下:

如果是在要Ckeditor的.aspx页面上的话是如下:

CKEDITOR.replace( '您要启用编辑功能的文本框',
{
filebrowserBrowseUrl:'/ckfinder/ckfinder.html',//启用浏览功能
filebrowserImageBrowseUrl:'/ckfinder/ckfinder.html?Type=Images',
filebrowserFlashBrowseUrl:'/ckfinder/ckfinder.html?Type=Flash',
filebrowserUploadUrl:'/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files',
filebrowserImageUploadUrl:'/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images',
filebrowserFlashUploadUrl:'/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash'
}  
);

当然用全局配置的方法

在 Ckeditor插件的 config.js 中配置

config.filebrowserBrowseUrl="/ckfinder/ckfinder.html";
config.filebrowserImageBrowseUrl="/ckfinder/ckfinder.html?Type=Images";
config.filebrowserFlashBrowseUrl="/ckfinder/ckfinder.html?Type=Flash";   
config.filebrowserUploadUrl="/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files";   
config.filebrowserImageUploadUrl="/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images";   
config.filebrowserFlashUploadUrl="/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash";



配置完之后在修改一下ckfinder中的config.ascx

CheckAuthentication()中 返回true 不然会上传不上 需要验证

SetConfig()中 BaseUrl 这个路径是上传的路径 修改一下

还有 注意一下后 别忘了引用 ckfinder中的bll文件

好了,你的整合与上传图片就成功完成了。
另外,如果想隐藏”图像“面板中的”超链接“和”高级“选项卡,可以在CKEditor的plugins/image/dialogs/image.js中

搜索"Link"和”advanced“在”id:'Link',“和”id:'advanced',“加入”hidden:true,“即可。

如果说你那要改善一下外观和优化一下你的网站,就看看下面一些个文章。

1、 http://www.cnblogs.com/netec/archive/2009/11/02/ckeditor_ckfinder.html

2、 http://blog.csdn.net/lulu_jiang/article/details/5532345

3、 http://blog.csdn.net/hzq1074/article/details/5893475




上一篇:asp.net文本编辑器(FCKeditor)
下一篇:sql server 判断是否存在数据库,表,列,视图
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-28 15:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表