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 相关文章推荐
javascript 操作Word和Excel的实现代码
Oct 26 Javascript
用js写了一个类似php的print_r输出换行功能
Feb 18 Javascript
jQuery带箭头提示框tooltips插件集锦
Nov 17 Javascript
javascript结合ajax读取txt文件内容
Dec 05 Javascript
jquery实现根据浏览器窗口大小自动缩放图片的方法
Jul 17 Javascript
jquery模拟实现鼠标指针停止运动事件
Jan 12 Javascript
D3.js实现折线图的方法详解
Sep 21 Javascript
canvas学习之API整理笔记(一)
Dec 29 Javascript
Node学习记录之cluster模块
May 31 Javascript
JavaScript中三个等号和两个等号你了解多少
Jul 04 Javascript
浅谈JavaScript 代码整洁之道
Oct 23 Javascript
Vue如何提升首屏加载速度实例解析
Jun 25 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
深入解析PHP中逗号与点号的区别
2013/08/05 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
php错误日志简单配置方法
2016/07/11 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
JS清除IE浏览器缓存的方法
2013/07/26 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
AngularJs入门教程之环境搭建+创建应用示例
2016/11/01 Javascript
详解Vue自定义过滤器的实现
2017/01/10 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
vue微信分享 vue实现当前页面分享其他页面
2017/12/02 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
JavaScript和TypeScript中的void的具体使用
2019/09/12 Javascript
electron 如何将任意资源打包的方法步骤
2020/04/16 Javascript
python开发之str.format()用法实例分析
2016/02/22 Python
Python变量和字符串详解
2017/04/29 Python
Python实现复杂对象转JSON的方法示例
2017/06/22 Python
酷! 程序员用Python带你玩转冲顶大会
2018/01/17 Python
Python构建图像分类识别器的方法
2019/01/12 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
蔻驰美国官网:COACH美国
2016/08/18 全球购物
北京天润融通.net面试题笔试题
2012/02/20 面试题
工程资料员岗位职责
2014/03/10 职场文书
挂牌仪式策划方案
2014/05/18 职场文书
党的群众路线教育实践活动个人整改措施范文
2014/11/04 职场文书
营业员岗位职责范本
2015/04/14 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
教师教育心得体会
2016/01/19 职场文书
MySQL sql模式设置引起的问题
2022/05/15 MySQL