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语句中的CDATA标签的意义
May 09 Javascript
JS创建优美的页面滑动块效果 - Glider.js
Sep 27 Javascript
javascript面向对象的方式实现的弹出层效果代码
Jan 28 Javascript
struts2+jquery+json实现异步加载数据(自写)
Jun 24 Javascript
在JavaScript中调用Java类和接口的方法
Sep 07 Javascript
axios发送post请求,提交图片类型表单数据方法
Mar 16 Javascript
Vue 全局loading组件实例详解
May 29 Javascript
Angular-UI Bootstrap组件实现警报功能
Jul 16 Javascript
webpack打包多页面的方法
Nov 30 Javascript
JS求1到任意数之间的所有质数的方法详解
May 20 Javascript
php结合js实现多条件组合查询
May 28 Javascript
gulp构建小程序的方法步骤
May 31 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
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
php Sql Server连接失败问题及解决办法
2009/08/07 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
Vue.js表单控件实践
2016/10/27 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
Spring Boot+AngularJS+BootStrap实现进度条示例代码
2017/03/02 Javascript
Bootstrap笔记之缩略图、警告框实例详解
2017/03/09 Javascript
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
如何使用Javascript中的this关键字
2020/05/28 Javascript
JS数组转字符串实现方法解析
2020/09/04 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
详细解读Python中解析XML数据的方法
2015/10/15 Python
浅析python的Lambda表达式
2019/02/27 Python
淘宝秒杀python脚本 扫码登录版
2019/09/19 Python
Python unittest 自动识别并执行测试用例方式
2020/03/09 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
2014/11/11 HTML / CSS
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
静态变量和实例变量的区别
2015/07/07 面试题
社区党建工作方案
2014/06/10 职场文书
自我检讨报告
2015/01/28 职场文书
督导岗位职责范本
2015/04/10 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
祝酒词范文
2015/08/12 职场文书
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技