Summernote实现图片上传功能的简单方法


Posted in Javascript onJuly 11, 2016

还是接着之前说过的最近在写一个BootStrap网页....然后要用富文本编辑器,随便搜了下就选了这货

然后发现了很尴尬的问题...图片上传功能无效....然后各种搜索各种无果...最后怒翻Summernote官方文档总算解决了,总之写下解决过程

后端部分就不提供代码了,满大街都是,这里假设后端拿到上传文件后返回文件的地址

首先附上参考资料:Summernote官方开发文档

简单说下Summernote的图片上传功能实现方案

首先根据官方文档提供的API,挂接文件上传事件,然后自己用JS重新上传文件,最后用API把图片插入到编辑框内即可

本来是挺简单的问题,可惜官方也不知道为什么居然更改了接口写法...然后网上搜到的资料全都坑掉了....虽然也有我搜的不够深入的原因

总之整理下核心的两个SummernoteAPI,接管文件上传事件和插入图片,根据官方文档说明格式如下

//接管图片上传事件
$('#summernote').summernote({
  callbacks: {
   onImageUpload: function(files) {
    // 上传图片到服务器并且插入图片到编辑框
   }
  }
});

//插入图片
$('#summernote').summernote('insertImage', url, filename);
//更加详细的解释见上面提供的官网API文档

然后就可以很轻松的实现支持上传图片的Summernote编辑框了

代码如下:

$('#summernote').summernote({
  callbacks: {
    onImageUpload: function(files) {
      //上传图片到服务器,使用了formData对象,至于兼容性...据说对低版本IE不太友好
      var formData = new FormData();
      formData.append('file',files[0]);
      $.ajax({
        url : 'upload',//后台文件上传接口
        type : 'POST',
        data : formData,
        processData : false,
        contentType : false,
        success : function(data) {
          $('#summernote').summernote('insertImage',data,'img');
        }
      });
    }
  }
});

最后,这只实现了一个最简单的,兼容性不怎样而且完全不考虑错误异常提示的图片上传功能而已....请根据需要自行修改

以上这篇Summernote实现图片上传功能的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
asp 的 分词实现代码
May 24 Javascript
Web前端设计模式  制作漂亮的弹出层
Oct 29 Javascript
基于json的jquery地区联动效果代码
Jul 06 Javascript
Javascript中arguments对象详解
Oct 22 Javascript
JS实现仿苹果底部任务栏菜单效果代码
Aug 28 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
Dec 03 Javascript
JavaScript数据结构与算法之集合(Set)
Jan 29 Javascript
jQuery常用选择器详解
Jul 17 jQuery
JS学习笔记之贪吃蛇小游戏demo实例详解
May 29 Javascript
js+canvas实现简单扫雷小游戏
Jan 22 Javascript
Vue自定义组件的四种方式示例详解
Feb 28 Javascript
js数组的基本使用总结
Jan 18 Javascript
JavaScript中setter和getter方法介绍
Jul 11 #Javascript
jQuery 3.0 的 setter和getter 模式详解
Jul 11 #Javascript
仿百度换肤功能的简单实例代码
Jul 11 #Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
Jul 11 #Javascript
全面理解闭包机制
Jul 11 #Javascript
js 判断一组日期是否是连续的简单实例
Jul 11 #Javascript
利用css+原生js制作简单的钟表
Apr 07 #Javascript
You might like
牡丹941资料
2021/03/01 无线电
用PHP编程开发“虚拟域名”系统
2006/10/09 PHP
PHP+DBM的同学录程序(3)
2006/10/09 PHP
php中的MVC模式运用技巧
2007/05/03 PHP
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
php mysql 判断update之后是否更新了的方法
2012/01/10 PHP
php从数组中随机选择若干不重复元素的方法
2015/03/14 PHP
PHP处理会话函数大总结
2015/08/05 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
javascript web页面刷新的方法收集
2009/07/02 Javascript
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
picChange 图片切换特效的函数代码
2010/05/06 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
javascript基本类型详解
2014/11/28 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
Node.js实现数据推送
2016/04/14 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
JS实现的简单拖拽功能示例
2017/03/13 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
javascript流程控制语句集合
2017/09/18 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
python计算最大优先级队列实例
2013/12/18 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
Python zip()函数用法实例分析
2018/03/17 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
对python 自定义协议的方法详解
2019/02/13 Python
python实现堆排序的实例讲解
2020/02/21 Python
Python过滤序列元素的方法
2020/07/31 Python
利用HTML5实现使用按钮控制背景音乐开关
2015/09/21 HTML / CSS
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
财务会计人员岗位职责
2013/11/30 职场文书
售后服务承诺书怎么写
2014/05/21 职场文书
市场营销计划书
2015/01/17 职场文书
卫生主题班会
2015/08/14 职场文书