个人技术网站 欢迎关注

今天做后台的时候需要一个富文本编辑器组件,由于项目使用的是bootstrap,所以毫不犹豫的用上了summernote富文本编辑器。文档各大大牛已经整理出来了  但是图片上传到服务器这块比较杂  大部分都是说上传到服务器的图片格式是base64的,但是我使用base64接收的时候看了下控制台竟然是二进制上传 、、、lol  上传方法白写了,至此在这里做个记录  方便自己谨记和有需要的人使用

第一步  加载富文本编辑器

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>编辑器</title>
<link href="/css/bootstrap.min.css?v=3.3.6" th:href="@{/css/bootstrap.min.css?v=3.3.6}" rel="stylesheet">
<link href="/summernote/summernote.css" rel="stylesheet" th:href="@{/summernote/summernote.css}"/>
<script src="/js/jquery.min.js?v=2.1.4" th:src="@{/js/jquery.min.js?v=2.1.4}"></script>
<script src="/js/bootstrap.min.js?v=3.3.6" th:src="@{/js/bootstrap.min.js?v=3.3.6}"></script>
<script src="/summernote/summernote.js" th:src="@{/summernote/summernote.js}"></script>
<script src="/summernote/lang/summernote-zh-CN.js" th:src="@{/summernote/lang/summernote-zh-CN.js}"></script>    <!-- 中文-->
<style>.m{ width: 500px; margin-left: auto; margin-right: auto; }
</style>
<script type="text/javascript" th:inline="javascript">/*<![CDATA[*/var ctxPath = /*[[@{/}]]*/ '';/*]]>*/console.info(ctxPath);
</script>
<script>
$(document).ready(function() {$('.summernote').summernote({  height: 500,tabsize: 2,lang: 'zh-CN',callbacks: {  onImageUpload: function(files) { //the onImageUpload API  console.log("图片上传"+files[0]);img = sendFile(files[0]);  }  }  });
});
function sendFile(file) {  data = new FormData();  data.append("file", file);$.ajax({  data: data,  type: "POST",  url: ctxPath+"/common/sysFile/upload",cache: false,  contentType: false,  processData: false,  success: function(data) {console.log(data);$(".summernote").summernote('insertImage', ctxPath+data.fileName, 'image name'); // the insertImage API}  });
}
</script>
</head><body><div class="m">       <div class="summernote">summernote 1</div></div>
</body>
</html>

这一步网上的文档很详细  一些路径请自己根据项目需要配置

2 服务端上传接口

@ResponseBody
@PostMapping("/upload")
R upload(@RequestParam("file") MultipartFile[] file, @RequestParam(value = "type", defaultValue = "0") String type, HttpServletRequest request) throws IOException {if ("test".equals(getUsername())) {return R.error(1, "演示系统不允许修改,完整体验请部署程序");}type = type==null||type==""?type="2":type;LOGGER.info(">>>>>>>>>>>>>>>>>>>>> {}", type);Date createTime = new Date();if (null != file && file.length > 0) {//遍历并保存文件for (MultipartFile files : file) {if (file != null) {//取得当前上传文件的文件名称String fileName = files.getOriginalFilename();//如果名称不为“”,说明该文件存在,否则说明该文件不存在if (type.equals("1")) {//OSS方式上传文件String suffix = files.getOriginalFilename().substring(files.getOriginalFilename().lastIndexOf("."));String url = ossService.build().uploadSuffix(files.getBytes(), suffix);//保存文件信息fileName = FileUtil.renameToUUID(fileName);SysFile sysFile = new SysFile(FileType.fileType(fileName), url, new Date(), getUserId());if (sysFileService.save(sysFile) > 0) {LOGGER.info(">>>>>>>>>>>>>OSS上传图片路径  {}", url);return R.ok().put("fileName", sysFile.getUrl());}} else {//本地上传图片方式fileName = FileUtil.renameToUUID(fileName);SysFile sysFile = new SysFile(FileType.fileType(fileName), "/files/" + fileName, new Date(), getUserId());try {FileUtil.uploadFile(files.getBytes(), bootdoConfig.getUploadPath(), fileName);} catch (Exception e) {return R.error();}if (sysFileService.save(sysFile) > 0) {LOGGER.info(">>>>>>>>>>>>>本地上传图片路径  {}", "/files/" + fileName);return R.ok().put("fileName", sysFile.getUrl());}}}}} else {return R.error("上传文件不能为空");}return R.ok();
}

这一步就是个简单的二进制上传接口 有需要的根据自己项目需要更改

最后来一张debug效果图

bootstrap summernote富文本编辑器图片上传干货分享相关推荐

  1. 富文本编辑器图片上传失败的BUG解决:IndexError:list index out of range

    富文本编辑器图片上传失败的BUG解决 问题原因 我们将通过Django上传的图片保存到了FastDFS中,而保存在FastDFS中的文件名没有后缀名(.png/.jpg/.jif),而ckeditor ...

  2. layui富文本编辑器上传图片java_解决layui富文本编辑器图片上传无法回显的问题...

    layui富文本编辑器用起来挺方便的,但是不足的是不提供图片上传的接口,需要自己写上传接口,而且返回的数据类型要符合layui富文本编辑器图片上传插件的要求,否则图片可以上传成功,但是无法回显,这个问 ...

  3. layui富文本编辑器图片上传无法回显问题解决

    layui富文本编辑器用起来挺方便的,但是不足的是不提供图片上传的接口,需要自己写上传接口,而且返回的数据类型要符合layui富文本编辑器图片上传插件的要求,否则图片可以上传成功,但是无法回显,这个问 ...

  4. springboot整合H+,基于summernote的富文本编辑器图片上传

    我在做这块任务时遇到了好几个问题,也查了一些资料,自己总结的一些东西,希望可以帮到一些有需要的朋友,废话不多说开始看代码. 首先看前台页面: 需要注意的是summernote的默认图片上传是base6 ...

  5. SSM+KindEditor实现富文本编辑器图片上传

    场景 KindEitor官方文档: http://kindeditor.net/demo.php 实现 效果 下载Kindeditor 下载地址: http://kindeditor.net/down ...

  6. WangEditor富文本编辑器图片上传踩坑之路

    最近由于业务需求,需要用到富文本编辑器,找寻了好久,起初想使用百度的ueditor,但在使用的过程中实在是遇到了太多的坑,于是另外锁定了一款富文本编辑器--wangEditor.这是一款轻量级的富文本 ...

  7. Layui富文本编辑器图片上传接口(.NET C#)

    本来想偷懒找个现成的接口,搜了一下发现没有现成的,那我在这写一个并分享给大家吧. demo打包好了在我的csdn下载中心:http://download.csdn.net/download/xiang ...

  8. Tinymce富文本编辑器图片上传即编辑配置详解

    Tinymce富文本编辑器 本站使用的也是Tinymce富文本编辑器,非常的好用,就是图片上传和编辑配置上有点麻烦,当时没有看完Tinymce官网的资料,导致浪费了点时间,下面就把图片上传的配置分享给 ...

  9. vue项目 vue-quill-editor富文本编辑器+图片上传

    目录 基础使用: 进阶版: 使用 el-upload 图片上传: 进阶版2.0: 可拖动调整图片大小: 基础使用: 富文本编辑器: 此方法得到的图片为base64编码,图片上传在下面. npm ins ...

最新文章

  1. NOIP2011 提高组 Day1
  2. DL之DNN:基于自定义数据集利用深度神经网络(输入层(10个unit)→2个隐藏层(10个unit)→输出层1个unit)实现回归预测实现代码
  3. 这几个技巧让你做出让导师眼前一亮的答辩 PPT
  4. 图解javascript中this指向
  5. CentOS 分区方案
  6. 计算机编程ebcdic码,EBCDIC 与 ASCII 编码相互转换
  7. php activerecord,Yii2 优雅的 Active Record
  8. 解决getJSON跨域登录Session丢失的问题
  9. Android 内存监测工具 DDMS -- Heap
  10. windows 改变用户文件路径(对所有新用户)
  11. 微信小程序上线审核流程
  12. 小型秒杀项目使用乐观锁防止超卖
  13. 线代 [7]|实对称矩阵
  14. 從turtle海龜動畫學習Python-高中彈性課程1
  15. Rotating reference frame
  16. 微信浏览器清理缓存的方法
  17. Permit.js – 用于构建多状态原型的 jQuery 插件
  18. 域策略(6)——统一映射共享文件夹
  19. 2014年880个合集Android_实例子源代码文件下载地址合集-2014
  20. 20170829 过客

热门文章

  1. PS中转手绘教程汇总
  2. 基于STM32的PS2游戏手柄智能小车
  3. 谁在使用Linux?
  4. 冲激信号的卷积性质采样信号频谱的周期性延拓
  5. i2c-tools调试工具
  6. 百度语音识别极速版的使用例子(JAVA)
  7. VC2013下,使用curl
  8. 全球十大资质正规现货黄金交易平台排名榜单(最新版汇总)
  9. 谜题21:我的类是什么?
  10. c语言图书馆管理程的运行截图,c语言图书管理系统