首页 > 其他分享 >ckeditor富文本编辑器的使用和图片上传,复制粘贴图片上传

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

时间:2023-11-02 12:14:04浏览次数:26  
标签:文本编辑 ckeditor url upload editor 上传 图片

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

特别注意:下面截图中url中的/editor/upload/1?其中的 /1 是根据自己需求添加不同类型数据上传时候的区分,可以去掉,写成/editor/upload?

初始化ckeditor
第一步:下载ckeditor并引入js;
<script src="/plugins/ckeditor/ckeditor.js" type="text/javascript"></script>
<script src="/plugins/ckeditor/config.js" type="text/javascript"></script>
第二步:在html页面引入textarea标签;
<!-- 富文本编辑器 -->
<textarea name="content" id="editor"></textarea>
第三步:在js中初始化富文本编辑器;
//初始换编辑器
var editor = CKEDITOR.replace('editor', {
filebrowserImageUploadUrl :"/picture/editor/upload/1",
removePlugins:'elementspath,resize',
codeSnippet_theme: 'zenburn',
height:'600'
});
注意:其中‘editor’必须跟第二步引入的textarea便签的id一致。filebrowserImageUploadUrl 是用来配置图片上传的;

做完这三步,富文本编辑器就可以基本使用。

但是,如果 进行图片上传,我们需要将图片单独上传到我们制定的服务器,然后返回url存储到数据库,这样处理图片才是最合理的。下面我们来说说图片上传:

图片上传:
第一步:在初始化ckeditor是配置filebrowserImageUploadUrl 属性,属性对应的值就是图片上传的后台连接;
//初始换编辑器
var editor = CKEDITOR.replace('editor', {
filebrowserImageUploadUrl :"/picture/editor/upload/1",
removePlugins:'elementspath,resize',
codeSnippet_theme: 'zenburn',
height:'600'
});
第二步:配置config参数,在config.js中加入以下配置
/*将编辑器的语言设置为中文*/
config.language = 'zh-cn';
/*去掉图片预览框的文字*/
config.image_previewText = ' ';
/*开启工具栏“图像”中文件上传功能,后面的url为图片上传要指向的的action或servlet*/
config.filebrowserImageUploadUrl= "/blog/uploadEditorImage";
第三步:写后台上传图片代码:
注意:后台上传图片处理完,必须返回固定格式的json数据:

上传成功时,返回:

{ "uploaded":1, "url":"图片访问路径"}

上传失败时,返回

{"uploaded":0,"error":{"message":"失败原因" }}


@RequestMapping(value = "/editor/upload", method = RequestMethod.POST)
@ResponseBody
public String uploadPicture( @RequestParam("upload") MultipartFile file, Model model, HttpServletRequest request, HttpSession session, HttpServletResponse response) {

try {

//具体伤处图片操作都不易呀,省略
...... ......

//设置返回的图片url
String url = targetPath + "/" +fileName;

Map<String, String> reMap = new HashMap<String, String>();

//必须返回这样格式的json字符串
reMap.put("uploaded", "1");
reMap.put("url", url);
return JSON.toJSONString(reMap);
} catch (Exception e) {
logger.error("上传图片失败", e);
return "false";
}
}

第四步:进行上传图片操作:


跳转图像信息页面,点击确定即可

 

 

第五步:获取editor内容,提交富文本编辑器数据:
/* 获取editor中的内容 */
var content = editor.getData();

/* 设置editor中的内容 */
editor.setData(content);
将获取的数据放入表单标签,就可以提交数据了。数据格式是一堆html标签的字符串:

 

复制图片上传:
ckeditor是支持复制上传的,只需要在之前的js的filebrowserImageUploadUrl配置的上传路径最后加一个?就可以了,如下:

//初始换编辑器
var editor = CKEDITOR.replace('editor', {
filebrowserImageUploadUrl :"/picture/editor/upload/1?",
removePlugins:'elementspath,resize',
codeSnippet_theme: 'zenburn',
height:'600'
});

参考文章:http://blog.ncmem.com/wordpress/2023/11/02/ckeditor%e5%af%8c%e6%96%87%e6%9c%ac%e7%bc%96%e8%be%91%e5%99%a8%e7%9a%84%e4%bd%bf%e7%94%a8%e5%92%8c%e5%9b%be%e7%89%87%e4%b8%8a%e4%bc%a0%ef%bc%8c%e5%a4%8d%e5%88%b6%e7%b2%98%e8%b4%b4%e5%9b%be%e7%89%87-3/

欢迎入群一起讨论

 

 

标签:文本编辑,ckeditor,url,upload,editor,上传,图片
From: https://www.cnblogs.com/songsu/p/17805089.html

相关文章

  • 纯前端实现图片验证码
    前言之前业务系统中验证码一直是由后端返回base64与一个验证码的字符串来实现的,想了下,前端其实可以直接canvas实现,减轻服务器压力。实现子组件,允许自定义图片尺寸(默认尺寸为100*40)与验证码刷新时间(默认时间为60秒)。同时暴露绘制验证码方法drawPic(),允许父组件直接调用(......
  • PHP大文件分割上传详解
    这篇文章主要为大家详细介绍了PHP大文件分割上传,PHP分片上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下服务端为什么不能直接传大文件?跟php.ini里面的几个配置有关upload_max_filesize=2M //PHP最大能接受的文件大小post_max_size=8M //PHP能收到的最大POST值'me......
  • 【PyTorch 卷积】实战自定义的图片归类
    前言        卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一,它通过卷积层、池化层、全连接层等结构,可以有效地处理如时间序列和图片数据等。关于卷积的概念网络上也比较多,这里就不一一描述了。实战为主当然要从实际问题出发,用代码......
  • 有什么可以自动保存微信收到的图片和视频的方法么
    8-1在一些有外勤工作的公司里,经常会需要在外面工作的同事把工作情况的图片发到指定微信或者指定的微信群里,以记录工作进展等,或者打卡等,对于外勤人员来说,也就发个图片的事,但是对于在公司里收图片的人来说,可能是个麻烦的活。因为有可能每天要保存上千张图片,或者视频,要是都靠人工保存......
  • 文本标签,图片标签
    一、文本标签 就记住重要的标签就好了二、图片标签单<imge src="路径"alt="图片描述">   ......
  • C#实现文件上传与下载功能实例
    最近学习了C#实现文件上传与下载,现在分享给大家。1、C#文件上传创建MyUpload.htm页面,用于测试<formname="form1"method="post"action="UploadFile.aspx"id="form1"enctype="multipart/form-data"><inputtype="file"id=&q......
  • 如何通过TypeScript采集高德图片
    相信大家开车一定都用过导航,高德地图就是一款非常优秀的导航软件,它以精准、高效而文明。今天我就给大家分享一个通过TypeScript简单采集高德图片的示例,可能没什么太大的用处,纯属个人爱好,不喜勿喷哈·~一起来看看吧。```typescriptimportsuperagentfrom'superagent';constprox......
  • WCF restful 上传文件 返回413 request entity too large
    网上各种加binding都不行最后找到了在配置文件中加 webHttpBinding1<system.serviceModel>2<bindings>3<webHttpBinding>4<binding5maxBufferPoolSize="2048576000"6......
  • c#文件上传下载功能实现
    NuGet安装SqlSugar1.Model文件下新建DbContext类publicclassDbContext{publicDbContext(){Db=newSqlSugarClient(newConnectionConfig(){ConnectionString="server=localhost;uid=root;pwd=w......
  • java使用ImageIO读取CMYK图片转存为RGB图片在本地和线上表现不同的问题
    项目里有jpg图片是CMYK颜色模式,需要转成RGB颜色模式,我使用的方法简单粗暴,就是利用ImageIO转存一下,在我的本地正常。但是丢到服务器上就有问题了,色差很大。不知道是什么情况。`BufferedImageimg=ImageIO.read(src);ImageIO.write(img,"jpeg",dest);`本......