Ckeditor与Ckfinder(java)整合实现富媒体内容编辑(支持文件上传)
先来看一下最终的效果图
一、编辑器界面

二、上传图片界面

<!------------------------------------------------------->
一、安装包下载,我使用的安装包是ckfinder_java_2.3.zip和ckeditor_3.6.3.zip,这两个文件可以分别到
http://ckfinder.com/download和http://ckeditor.com/download下载,注意我使用的开发语言是java,所以下载cfinder的时候需要选择的版本是ckfinder_java;
二、在Eclipse中新建一个Dynamic Web Project项目,此处省略具体步骤;
三、整合Ckeditor和Ckfinder;
1、解压ckeditor_3.6.3.zip,然后将ckeditor文件夹全部考到WebContent根目录下,修改ckeditor目录下的config.js文件,代码如下:
CKEDITOR.editorConfig = function( config ) { // Define changes to default configuration here. For example:
// config.language = 'fr'; // config.uiColor = '#AADC6E'; //配置默认配置
config.language = 'zh-cn'; //配置语言 // config.uiColor = '#FFF'; //背景颜色 // config.width = 400; //宽度 // config.height = 400; //高度 // config.skin = 'v2'; //编辑器皮肤样式 // 取消 “拖拽以改变尺寸”功能 // config.resize_enabled = false; // 使用基础工具栏
// config.toolbar = "Basic";
// 使用全能工具栏
config.toolbar = "Full"; //使用自定义工具栏 // config.toolbar = // [ // ['Source', 'Preview', '-'], // ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', ],
// ['Undo', 'Redo', '-', 'Find', 'Replace', '-', 'SelectAll', 'RemoveFormat'],
// ['Image', 'Flash', 'Table', 'HorizontalRule', 'Smiley', SpecialChar','PageBreak'],
// '/', // ['Bold', 'Italic', 'Underline', '-', 'Subscript', 'Superscript'],
// ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote'], // ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'], // ['Link', 'Unlink', 'Anchor'], // '/', // ['Format', 'Font', 'FontSize'], // ['TextColor', 'BGColor'], // ['Maximize', 'ShowBlocks', '-', 'About'] // ]; // 在 CKEditor 中集成 CKFinder,注ckfinder 的路径选择要正确。
config.filebrowserBrowseUrl = 'ckfinder/ckfinder.html',
config.filebrowserImageBrowseUrl = 'ckfinder/ckfinder.html?type=Images',
config.filebrowserFlashBrowseUrl = 'ckfinder/ckfinder.html?type=Flash',
config.filebrowserUploadUrl = 'ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Files',
config.filebrowserImageUploadUrl = 'ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Images',
config.filebrowserFlashUploadUrl = 'ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Flash',
config.filebrowserWindowWidth = '1000',
config.filebrowserWindowHeight = '700'; };
2、解压ckfinder_java_2.3.zip,将ckfinder目录下的CKFinderJava.war解压,找到ckfinder文件夹,将其拷贝到WebContent目录下;在这一步中,simples目录和plugins/gallery/jquery.min.js会提示出错,将simples目录直接删除即可,下载最新的jquery.min.js文件替换原有的jquery.min.js文件,将不会再有错误提示;
3、整合jar包,把上一步中解压的war包中的jar文件拷贝到我们自己的工程中,其位置通常是:ckfinder\CKFinderJava\WEB-INF\lib;将这个目录下面的jar文件拷贝到我们的工程中的lib文件夹下,接着把config.xml和web.xml文件也拷贝到我们自己的工程中的相应位置(WebContent/WEB-INF);
打开config.xml, 第二行的<enabled>false</enabled>换成:<enabled>true</enabled> ;第四行的<baseURL>/CKFinderJava/userfiles/</baseURL>换成<baseURL>/CK/userfiles/</baseURL>注意:此处的CK是根据项目名定的。
四、在WebContent目录下新建一个editor.jsp文件;
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="ckfinder/ckfinder.js"></script>
<script type="text/javascript">
function GetContents() {
var oEditor = CKEDITOR.instances.editor1; alert(oEditor.getData());
}
</script> <title>编辑产品信息</title>
</head>
<body>
<textarea id="editor1" name="editor1" class="ckeditor" rows="20"
cols="80"> </textarea>
<input onclick="GetContents();" type="button"
value="Get Editor Contents (XHTML)" />
</body>
</html>
上面的jsp文件中,有一个editor编辑器和一个按钮,按钮用于获取在editor中用户编辑添加的内容,获取到内容之后,就可以做相应的处理,比如保存内容,或者根据内容生成一个html文件,等等;
运行程序,访问editor.jsp即可看到文章开头的第一个编辑器界面;
五、附录
去除一些版本信息:打开ckfinder下面的ckfinder.js文件,查找<h4,此标签上添加隐藏样式style='display:none;';
更多功能可参考安装包中的例子程序,实现个性化定制;
源码下载:http://pan.baidu.com/s/1ntumme9 密码: ig2s
Ckeditor与Ckfinder(java)整合实现富媒体内容编辑(支持文件上传)的更多相关文章
- 笨鸟先飞之Java(一)--使用struts2框架实现文件上传
无论是.net还是Java,我们最常接触到的就是文件的上传和下载功能,在Java里要实现这两个经常使用功能会有非常多种解决方案,可是struts2的框架却能给我们一个比較简单的方式,以下就一起来看吧: ...
- java nio 写一个完整的http服务器 支持文件上传 chunk传输 gzip 压缩 使用过程 和servlet差不多
java nio 写一个完整的http服务器 支持文件上传 chunk传输 gzip 压缩 也仿照着 netty处理了NIO的空轮询BUG 本项目并不复杂 代码不多 ...
- java web学习总结(二十四) -------------------Servlet文件上传和下载的实现
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
- java:ssh连接服务器,实现本地文件上传和下载
1.连接至服务器:ssh hp@10.10.17.16 -p 5555 下载文件:scp -r hp@10.10.17.16:/ccc(服务器路径,文件夹下所有文件) /path(本地路径) ...
- SpringBoot整合阿里云OSS对象存储实现文件上传
1. 准备工作: 一.首先登录阿里云OSS对象存储控制台创建一个Bucket作为你的存储空间. 二.创建Access Keyan按要求创建进行,这里的方法步骤我就不展现出来了,你们可以自行查询阿里云文 ...
- Java 开源博客 Solo 1.8.0 发布 - 改进文件上传
本次发布主要是更新了编辑器,使其更好地支持文件上传.(1.8.0 版本变更记录请看这里) 我们的 Markdown 编辑器: 另外,我们对 HTTPS 的支持也更完善了,欢迎大家试用! 简介 Solo ...
- vue+Ueditor集成 [前后端分离项目][图片、文件上传][富文本编辑]
后端DEMO:https://github.com/coderliguoqing/UeditorSpringboot 前端DEMO:https://github.com/coderliguoqing/ ...
- java文件上传和下载
简介 文件上传和下载是java web中常见的操作,文件上传主要是将文件通过IO流传放到服务器的某一个特定的文件夹下,而文件下载则是与文件上传相反,将文件从服务器的特定的文件夹下的文件通过IO流下载到 ...
- Java Web(十一) 文件上传与下载
文件上传 上传的准备工作 表单method必须为post 提供file组件 设置form标签的enctype属性为multipart/form-data,如果没有设置enctype属性,浏览器是无法将 ...
随机推荐
- Retinex图像增强和暗通道去雾的关系及其在hdr色调恢复上的应用
很多人都认为retinex和暗通道去雾是八杆子都打不着的增强算法.的确,二者的理论.计算方法都完全迥异,本人直接从二者的公式入手来简单说明一下,有些部分全凭臆想,不对之处大家一起讨论. 首先,为描述方 ...
- zookeeper 简单小节
1. ZooKeeper 是什么 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务.主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储 ...
- Eclipse与MySQL数据库连接步骤
将Eclipse与数据库进行连接的步骤: 1. 下载并配置MySQL 2. 为新建的项目配置mysql的jar包(jdbc和connection的配置) a) 可直接引用外部文件(不建议做,这样项目一 ...
- 人脸辨识,用树莓派Raspberry Pi实现舵机云台追踪脸孔
影像辨识作为近年最热门的专业技术之一,广泛用于智慧监视器.车电监控.智慧工厂.生物医疗电子等等:其中,人脸辨识是一个很重要的部分,网络上已经有相当多的资源可供下载使用:于是我们使用舵机云台作为镜头旋转 ...
- 4星|《亿万》:FBI大战华尔街对冲基金大鳄
亿万:围剿华尔街大白鲨 全书尝试还原2008-2013年前后FBI指控赛克资本老板科恩通过内幕交易盈利的案件细节. 作者花了数年时间,采访了200多位当事人,阅读了海量的相关资料.书中交代了科恩的发家 ...
- Spark Streaming的使用——转载
转载自 Spark Streaming 使用
- AJAX学习2
作者声明:本博客中所写的文章,都是博主自学过程的笔记,参考了很多的学习资料,学习资料和笔记会注明出处,所有的内容都以交流学习为主.有不正确的地方,欢迎批评指正. 本文学习内容:https://www. ...
- 获取文件夹下某个类型的文件名---基于python
方法1:import osclass flist_name(): def __init__(self,path): self.flist_name=os.listdir(path) def pcap_ ...
- tensorflow之分类学习
写在前面的话 MNIST教程是tensorflow中文社区的第一课,例程即训练一个 手写数字识别 模型:http://www.tensorfly.cn/tfdoc/tutorials/mnist_be ...
- asp.netcore mvc 权限拦截
1-背景介绍 需要做一个简单权限系统,基于 角色,用户,菜单 的模式 基于IActionFilter全局拦截,在内部跳转或者浏览器跳转的时候,拦截是成功的,当通过AJAX 请求的时候,页面就不会跳转 ...