CKEditor5上传不了图片问题(简单易懂版)_vue+ckeditor上传图片不显示-程序员宅基地

技术标签: java  

1、最近想用下CKEditor5 新特性,但发现上传不上去,经调研官网调研如下:

1、首先引入js

https://cdn.ckeditor.com/ckeditor5/17.0.0/classic/ckeditor.js

2、html相关代码

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script src="https://cdn.ckeditor.com/ckeditor5/17.0.0/classic/ckeditor.js"></script>
</head>
<body>
<div id="editor">
</div>
<script>
    ClassicEditor.create( document.querySelector( '#editor' ), {
     
    	
        ckfinder:{
     
        	//后端URL
            uploadUrl: '/upload'
        },
        toolbar: {
     
            items: [        'heading','|','bold','italic','link','bulletedList','numberedList','|','indent','outdent','|','imageUpload','blockQuote',
            'insertTable','mediaEmbed','fontBackgroundColor','fontColor','fontSize','code','codeBlock','alignment','horizontalLine','
            todoList','undo','redo']
        },
        language: 'zh-cn',
        image: {
     
            toolbar: [
                'imageTextAlternative','imageStyle:full','imageStyle:side'
            ]
        },
        table: {
     
            contentToolbar: [
                'tableColumn','tableRow','mergeTableCells'
            ]
        },
        licenseKey: '',

    } )
    .then( editor => {
     
        window.editor = editor;
    } )
    .catch( error => {
     
    } );

</script>
</body>
</html>

3、后端相关代码(Java为例)

//这里必须是POST,或者自己修改CKEditor5 js源代码
	@RequestMapping(value = {
    "upload", "upload/"}, method = RequestMethod.POST)
    @ResponseBody
    //接受参数不能用file 用upload js 源代码已经写死
    public Map<String, String> uploadAdmin(@RequestParam("upload") MultipartFile file){
    
        log.debug("Handling image file upload, name={}, origName={}, size={},", file.getName(),
                file.getOriginalFilename(), file.getSize());
        if (file.isEmpty()) {
    
            log.error("error");
        }
        //固定值
        Map<String, String> map = Maps.newConcurrentMap();
        map.put("uploaded", "1");
        map.put("url", "图片URL");
        //必须这样{"uploaded":"1","url", "图片URL"} 或者自己修改CKEditor5 js源代码
        return map;
    }
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/helenyqa/article/details/104615381

智能推荐

count/count if函数的基本用法_countif和count一起怎么用-程序员宅基地

文章浏览阅读2.1k次。count函数,用来计算单元格的数的个数,只是用来计数,并且只有只记录数子的个数,文本的个数是不被记录的。但是很少会用到单纯的count函数,往往在工作中计数是带有条件的。就会用到countif函数COUNTIF函数需要注意的点,COUNTIF函数做判断的时候只能判断单元格的前15位,比如:按照常理来说,在A2-A3单元格格的区域内,等于A2单元格的计数数量应该是为2 的,但是COUNTIF函数只能默认拿单元格的前15位数字,超过的部分就不做统计了。如果遇到这样的情况,就需要借用*,这里用了&连_countif和count一起怎么用

【PaddleSpeech】语音合成-男声_fastspeech2_male_zh_ckpt_1.4.0-程序员宅基地

文章浏览阅读1.1k次,点赞10次,收藏9次。使用PaddleSpeech进行语音合成(男声)_fastspeech2_male_zh_ckpt_1.4.0

html编辑器 br 被div,UEditor百度编辑器中各种html标签被过滤掉的解决办法-程序员宅基地

文章浏览阅读449次。在之前的文章编写过程中,插入JS代码后,第一次文章会显示正常,而之后在后台编辑器中再打开看, 发现好多标签竟然被删掉了。后来发现解决办法非常简单。我们在插入代码后,源码模式下,看起来是正常的,但是为什么保存完之后,数据库中正常,但是编辑器中不正常呢?很多富文本编辑器都有两种初始化方式,以UEditor为例,一种是textarea标签,一种是script标签。举例textarea方式:这里写你的初始..._百度富文本编辑器过滤了html标签

Java大厂笔试&&面试集合大全目录,java笔试面试宝典-程序员宅基地

文章浏览阅读661次,点赞6次,收藏20次。最后还准备了一套上面资料对应的面试题(有答案哦)和面试时的高频面试算法题(如果面试准备时间不够,那么集中把这些算法题做完即可,命中率高达85%+)份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)**(img-0bihoba1-1713545040863)]JAVA相关笔试题,祝各位找到好工作!Java网络安全面试题系列。

Latex 反斜对角省略号实现_latex 省略号-程序员宅基地

文章浏览阅读1.1w次,点赞9次,收藏36次。Latex 反斜对角省略号_latex 省略号

python爬图mzitu_[Python]爬取mzitu网站-程序员宅基地

文章浏览阅读5.7k次。1 importio2 importos3 importre4 importsys5 importdatetime6 from bs4 importBeautifulSoup7 from pxydowwload importrequest8 from pymongo importMongoClient910 sys.stdout = io.TextIOWrapper(sys.stdout.buff..._mzitu

随便推点

Unity粒子特效系列-龙卷风预制体做好了,unitypackage包直接用!_unity螺旋风特效-程序员宅基地

文章浏览阅读2.2w次,点赞53次,收藏63次。????????即将学会利用粒子系统实现超真实的龙卷风效果。我们要掌握核心科技,提高生产力。其中关键的内容就是旋转,速度,大小变化以及颜色变化。????效果预看视频地址:Unity粒子特效系列-龙卷风效果_哔哩哔哩_bilibili????案例环境Unity 2020.3LTS系列????实践过程首先搞清楚龙卷风分为两部分,从上而下的小部分,从下而上的大部分!接着我们就要分开实现了。上半部分开始之前先确定下思路:需要有旋转 有风就要有速度模块 _unity螺旋风特效

计算机科学与技术的难度大小,计算机科学与技术专业各科难度排行-程序员宅基地

文章浏览阅读1.6k次。该楼层疑似违规已被系统折叠隐藏此楼查看此楼大三下学期NO.1Web数据库技术(3`)专业必修课本学期最难一科,考题是默写程序!填空(通常得不到几分)简答,程序。考前认真复习,课上不上无所谓,最终你还是要背的。重点:第三章:链接herf(填空),登陆表单(html程序题,可以参考习题1)登陆表单验证(JavaScript程序题 P30)第四章:脚本段-表达式-声明-指令的区别(简答),指令元素(简..._编译原理难度排第几

原生小程序 微信小程序 使用ucharts_微信小程序引入ucharts-程序员宅基地

文章浏览阅读2.2k次。一般是uni-app项目使用ucharts在原生微信小程序也是可以使用。方法:## 使用说明请将项目根目录 微信小程序/uCharts-组件/qiun-wx-ucharts/src 下全部文件复制到指定位置,例如该项目的components/qiun-wx-uchart目录下,然后在页面的json配置文件中配置如下:配置好后即可在wxml文件中使用注:示例中uCharts组件仅做演示,实际使用请用码云或者npmjs中最新版本。_微信小程序引入ucharts

1095:数1的个数 题解 信息学奥赛 NOIP_y1095 数1的个数-程序员宅基地

文章浏览阅读1.3k次。关于内容来源于微信公众号:大神编程。已经过原文作者授权。题目:1095:数1的个数超详细动画图文题解链接题解目录(不断更新中)喜欢信息学奥赛的同学们,可以一起交流学习哦官方QQ群:893157498我的QQ群:795233394..._y1095 数1的个数

学习布局(15) 段落类的样式_段落元素设置样式-程序员宅基地

文章浏览阅读220次。line-height: 设置元素当中的每行文本的行高(行间距) .test { width: 300px; height: 40px; margin-bottom: 20px; padding: 10px; background-color:..._段落元素设置样式

opencv: 使用InRange函数进行阈值操作 Thresholding Operations using inRange_inrange和cv2.threshold一起使用-程序员宅基地

文章浏览阅读1.3k次。目标:使用OpenCV cv::inRange 函数进行基本的 阈值操作, 基于像素值在HSV色度空间的范围进行对象检测理论:前一篇文章中我们学习了如何使用cv::threshold 阈值函数进行阈值操作 本文我们将学习使用 cv::inRange 来进行处理 原理是一样的但是现在我们增加了一个我们所需要的 【像素值的范围】HSV色度空间 HSV colorspaceHSV ..._inrange和cv2.threshold一起使用