zoukankan      html  css  js  c++  java
  • 富文本编辑器CKeditor的配置和图片上传,看完不后悔

    CKeditor是一款富文本编辑器,本文将用极为简单的方式介绍一下它的使用和困扰大家很久的图片上传问题,要有耐心。

    第一步:如何使用

    1.官网下载https://ckeditor.com/ckeditor...,分别是简易版、标准版、全面版、自定义四个选项,下载哪个根据你的诉求来。

    2.下载成功后---->解压得到一个ckeditor文件夹----->把ckeditor文件夹上传到服务器上(或本地的静态服务上)------>本地新建一个demo.htm如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    </head>
    <body>
    <textarea name="editor1" id="editor1" class="ckeditor" rows="10" cols="80"></textarea>
    <script src="http://自己的服务器地址/ckeditor/ckeditor.js"></script>
    </body>
    </html>

    3.运行demo.html就能看见编辑器了 获取编辑器数据用 var data = CKEDITOR.instances.editor1.getData()

    第二步:如何通过编辑器上传图片到服务器

    1.找到ckeditor/config.js,原来乱七八糟的全删了,修改如下

    CKEDITOR.editorConfig = function( config )
    {
    config.filebrowserImageUploadUrl = '/void/imgupload/ckeditorUpload?type=image';
    };

    2.解释一下,这个'/void/imgupload/ckeditorUpload'是自己定义的本地接收图片的接口,你需要写接收保存图片的逻辑

    3.重点!!这个接口接受保存完图片怎么反馈呢??答案是:新版本的ckeditor要返回json格式如下:

    {
    "uploaded": 1,   //写死的
    "fileName": filename,  //图片名
    "url": url  //上传服务器的图片的url
    }

    旧版本要返回js代码!!!如下:

    callback = request.args.get("CKEditorFuncNum")
    resData = "<script type="text/javascript">"
    resData += "window.parent.CKEDITOR.tools.callFunction(" + callback + ",'" + url + "',''" + ")" 
    resData += "</script>"
    return resData

    解释:url是上传服务器的图片的url callback是要接收get参数,参数名是“CKEditorFuncNum” ,callback一定不能缺

    补充:ckeditor新版旧版怎么区分呢?旧版在请求的时候url有'CKEditorFuncNum'参数,新版则没有(本人见解,不明白留言解答)

    ==========================================================

  • 相关阅读:
    IntelliJ Idea和IntelliJ webstrm 常用快捷键
    mybatis基础学习2---(resultType和resultMap的用法和区别)和setting的用法
    使用观察者模式观察线程的生命周期
    观察者设计模式介绍
    java的内存模型及缓存问题
    一个解释volatile关键字作用的最好的例子
    多线程的waitset详细介绍
    浅谈单例模式
    SimpleThreadPool给线程池增加自动扩充线程数量,以及闲时自动回收的功能
    SimpleThreadPool给线程池增加拒绝策略和停止方法
  • 原文地址:https://www.cnblogs.com/10manongit/p/12774989.html
Copyright © 2011-2022 走看看