一、ckeditor4的配

1.下载ckeditor4
进入官网https://ckeditor.com/ckeditor-4/download/可以直接点击下载,也可以下拉到 CKEditor 4 - previous versions 进行版本选择下载


2.解压并配置
解压压缩包打开 ckeditor -> samples 里面有一个index.html,点击打开


3.进行功能配置

点开后会进入一个界面,在网页中可以根据自己需要进行配置,并自动形成配置代码



生成配置代码

4.导入项目

将之前解压的压缩包复制到项目的静态目录下


5.引入CKEditor的js文件

在这里我配置过静态资源目录,src下是自己的项目ckeditor的目录

 <script type="text/javascript" src="${pageContext.request.contextPath}/ckeditor/ckeditor.js"></script>

6.使用CKEditor

在页面代码中写一个容器,然后用ckeditor进行替换,这里有两种方式:

第一种:class=“ckeditor”

 <textarea class="ckeditor" id="editor" name="content"></textarea>

第二种:替换

<textarea id="editor" name="content"></textarea><script type="text/javascript">window.onload = function(){CKEDITOR.replace( 'editor');};
</script>

7.启动项目

在这就已经可以显示出原有样式了


8.需求配置

在ckeditor中有一个config.js,这是提供用户自己配置的文件,将第三步产生的配置代码复制到 CKEDITOR.editorConfig = function( config ) {} 里面

重新启动项目就可以进行最基本的使用了

二、图片上传

虽然我们配置好了,但是图片上传功能并不能使用,在ckeditor中上传功能是隐藏的

1.显示上传
在这个可以在 ckeditor -> plugins -> image -> dialogs -> image.js配置,将id:“Upload”,hidden:!0 ,hidden改为0,但是这个js是简化版,配置比较麻烦,但是我们可以在config.js进行配置,功能如下:

     /*去掉图片预览框的文字*/config.image_previewText = ' ';//隐藏“超链接”与“高级选项”只留上传和预览按钮config.removeDialogTabs = 'image:advanced;image:Link;','help';/*开启工具栏“图像”中文件上传功能,后面的url为图片上传要指向的的action或servlet*/config.filebrowserImageUploadUrl= "/forum/upload";


在这里就出来了,config.filebrowserImageUploadUrl= “”; 指向你的action或servlet,没有配置就会出现下面情况

2.配置后台action

utils类

public class UploadFileName {//获取文件urlpublic static String getImgUrl(String fileName){//返回时间+文件名return new Date().getTime()+fileName;}
}/*上传文件工具类*/
public class UploadUtils {/** 上传方法* 返回上传文件的访问路径 * 目录调用者创建* */public static String uploadFile(HttpServletRequest req,String tempPath,String uploadPath){try {//1.创建磁盘文件工厂String path_temp = req.getServletContext().getRealPath(tempPath);DiskFileItemFactory factory = new DiskFileItemFactory(1024*1024, new File(path_temp));//2.创建文件上传核心类 ServletFileUpload upload = new ServletFileUpload(factory);//3.设置上传文件名称编码 upload.setHeaderEncoding("UTF-8");//4.判断是否是上传表单boolean isMultipartContent = upload.isMultipartContent(req);  String fileName = "";if(isMultipartContent){//5.是上传表单  解析文件集合 List<FileItem> list = upload.parseRequest(req);if(list!=null){//6.遍历集合for(FileItem item : list){//判断item是文本类型 还是 字节类型 boolean isFormField = item.isFormField();if(isFormField){//文本类型String key = item.getFieldName();String value = item.getString("UTF-8");} else {//字节文件fileName = item.getName();String key = item.getFieldName();//获得当前日期的毫秒值Long time = new Date().getTime();fileName = time+fileName;//获得上传内容InputStream in = item.getInputStream();//获得部署路径String path = req.getServletContext().getRealPath("/"+uploadPath);OutputStream out= new FileOutputStream(path+"/"+fileName);IOUtils.copy(in, out);out.close();in.close();//删除临时文件item.delete();}}}}String fangWenPath = req.getContextPath()+"/"+uploadPath+"/"+fileName;return  fangWenPath;} catch (Exception e) {e.printStackTrace();}return null;}
}

Controller层:

public class UploadController {@Value("")//注入文件储存路径private String dir;@Value("/image")//服务器映射虚拟路径private String imgServiceUrl;@RequestMapping("/upload")@ResponseBodypublic Map upload(MultipartFile upload) throws Exception{Map map = new HashMap();String fileName = upload.getOriginalFilename();String imgUrl = UploadFileName.getImgUrl(fileName);upload.transferTo(new File(dir+"/"+imgUrl));imgUrl = imgServiceUrl+"/"+imgUrl;map.put("uploaded","1");map.put("url",imgUrl);return map;}}

效果如下:

3.文件上传问题总结

在这里一定注意返回对象,之前在网上查了好多都不行,最后查了文档,它要求返回一个json型的数据,如果返回不对会出现以下情况

(1)没有返回uploaded,或返回的不是uploaded

map.put("uploaded","1");


(2)没有返回url,或返回url错误,会找不到文件路径

 map.put("url",imgUrl);


注:返回方式很多,但是这两个参数必须要有,如果按json返回,参数名要一致!!!

富文本编辑器CKEditor配置及图片上传配置相关推荐

  1. ckeditor富文本编辑器的使用和图片上传,复制粘贴图片上传

    项目开发需要用到在线编辑和图片上传,最终讨论使用ckeditor,原因就是其丰富的API.考虑到最新版本ckeditor5可能不够稳定,我们选择使用ckedtior4.9.2版本.官网链接:ckedi ...

  2. ckeditor富文本编辑器的使用和图片上传

    项目开发需要用到在线编辑和图片上传,最终讨论使用ckeditor,原因就是其丰富的API.考虑到最新版本ckeditor5可能不够稳定,我们选择使用ckedtior4.9.2版本.官网链接:ckedi ...

  3. wangEditor - 轻量级web富文本编辑器(可带图片上传)

    业务需求: 通过后台编辑文章和图片,上传到前端界面,展示新闻消息模块.这个时候,需要一款简洁的编辑器,百度编辑器是最常用的一种,但是功能太过于复杂,而wangEditor - 轻量级web富文本编辑器 ...

  4. Vue中使用vue-quil-editor富文本编辑器+el-upload实现带图片上传到SpringBoot后台接口

    场景 系统中经常会用到富文本编辑器,比如新增通知和公告功能,并且需要添加上传图片. vue-quill-editor官网: https://www.npmjs.com/package/vue-quil ...

  5. 使用百度UMeditor富文本编辑器,修改自定义图片上传,修改源码

    富文本编辑器,不多说了,这个大家应该都用到过,至于用到的什么版本,那就分很多种 CKEditor:很早以前叫FCK,那个时候也用过,现在改名了,比较流行的一个插件,国外很多公司在用 UEDITOR:百 ...

  6. Spring Boot使用Simditor富文本编辑器,并将图片上传到七牛云。

    开始之前,需要强调的是Simditor富文本编辑器是基于Jquery的.所以必须引入Jquery.Simditor下载地址 下载解压后会发现是整个simditor项目,很多东西项目根本不需要,只需要将 ...

  7. 富文本编辑器三种不同图片上传功能

    最近在集成富文本和fastDFS文服做图片上传,找了写相关资料,感觉官网的比较全也比较杂.刚好看到一片 好的文章,然后我就转载并对不太详细的地方进行了一定的修改并新添加了一种前后端分离的方法.各位小伙 ...

  8. 微信小程序富文本编辑器editor初体验-图片上传

    https://developers.weixin.qq.com/miniprogram/dev/component/editor.html 以前没有小程序富文本编辑器,只能输入文字,图片上传后,在服 ...

  9. ckeditor finder php,CKEDITOR CKFINDER的图片上传配置(C#/asp.net/php)

    CKEDITOR+CKFINDER的图片上传配置(C#/asp教程.net/php教程) php keditor的代码全部重写,但里面没有了上传功能,只是一个纯粹的文件在线编辑器,如果需要上传图片,还 ...

最新文章

  1. 中科大影响超越清华北大
  2. android listview 自动循环滚动条,ListView的自动循环滚动显示【原创】
  3. 代码同步工具_可以多重连接的数据库管理工具
  4. 各Rendering Path技术以及其在Unity中的实现
  5. java 生成校验验证码_java 验证码生成与校验
  6. java tts引擎_Android TTS系列二——如何开发一款系统级tts引擎?
  7. 三款200万像素照相手机测评
  8. 升级 Xcode 4.3 后找不到 xcodebuild 的解决方法
  9. 云效研发平台负责人:高效研发运维体系构建的方法论
  10. kaliU盘启动配置
  11. discuz左边用户信息框美化代码分享
  12. 用Global Mapper软件批处理将dwg转GeoPdf
  13. 无法启动此程序,因为计算机中丢失MSVCR71.dll.丢失的解决方法分享
  14. 计算机如何算幂函数,幂函数(乘方)|指数(函数)|对数(函数)|及其运算法则...
  15. 国漫的又一次崛起?形成独树一帜的“中国学派”
  16. excel2021 打印圆不圆
  17. 湘潭市古城中学《西游记》手抄报活动作品展示
  18. mysql DateDiff 时间差
  19. 11月末.wang域名总量15强:易名中国榜首 份额涨5%
  20. 网络嗅探 精华版(全)

热门文章

  1. Android多语言翻译国际化语言代码与中文对照整理
  2. 合同索赔的内容和处理方法
  3. 小程序中如何正确使用换行符‘\n‘
  4. 抖音SEO,抖音SEO搜索排名详细介绍
  5. 短视频seo搜索优化主要内容
  6. 失去jQuery Bloat ­ —使用NodeList.js进行DOM操作
  7. 小米抢注mi.io域名 “雷布斯”要做小米小程序?
  8. Wework创始人再创业,靠美版“自如”估值10亿美金
  9. linux swi 内核sp,应用调试(四)系统调用SWI
  10. 网站的关键!教你13步打造漂亮的WEB字体