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 相关文章推荐
HTML5之lang属性与dir属性的详解
Jun 19 Javascript
jQuery焦点图切换特效代码分享
Sep 15 Javascript
Vue中img的src属性绑定与static文件夹实例
May 18 Javascript
微信小程序点击控件修改样式实例详解
Jul 07 Javascript
vue-router路由懒加载和权限控制详解
Dec 13 Javascript
使用vux实现上拉刷新功能遇到的坑
Feb 08 Javascript
mpvue跳转页面及注意事项
Aug 03 Javascript
JavaScript如何实现元素全排列实例代码
May 14 Javascript
JavaScript如何把两个数组对象合并过程解析
Oct 10 Javascript
element的el-table中记录滚动条位置的示例代码
Nov 06 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
Jan 26 Javascript
VUE递归树形实现多级列表
Jul 15 Vue.js
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
关于BIG5-HKSCS的解决方法
2007/03/20 PHP
使用PHP实现蜘蛛访问日志统计
2013/07/05 PHP
ThinkPHP模板输出display用法分析
2014/11/26 PHP
PHP使用redis实现统计缓存mysql压力的方法
2015/11/14 PHP
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
2011/10/23 Javascript
jquery复选框checkbox实现删除前判断
2014/04/20 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
asp.net中oracle 存储过程(图文)
2015/08/12 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
2016/01/14 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
2016/04/18 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
浅谈dataframe中更改列属性的方法
2018/07/10 Python
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
Python 文件数据读写的具体实现
2020/01/24 Python
Python matplotlib画曲线例题解析
2020/02/07 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
马来西亚航空官方网站:Malaysia Airlines
2017/07/28 全球购物
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
英国的潮牌鞋履服饰商店:size?
2019/03/26 全球购物
奥地利手表、香水、化妆品和珠宝购物网站:Brasty.at
2021/01/17 全球购物
称象教学反思
2014/02/03 职场文书
《木笛》教学反思
2014/03/01 职场文书
商场租赁意向书
2014/07/30 职场文书
创先争优活动党员公开承诺书
2014/08/29 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
英文辞职信范文
2015/05/13 职场文书
力克胡哲观后感
2015/06/10 职场文书
学困生转化工作总结
2015/08/13 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript