一个简单不报错的summernote 图片上传案例


Posted in Javascript onJuly 11, 2016

一个比较完整的summernote上传图片的案例,没有后台(上传图片网上案例太多),只有前端js.修正了网上提供的,但是有bug的代码。

这个例子,js保证不报错。亲测可用

<%@ page language="java" contentType="text/html; charset=utf-8"
  pageEncoding="utf-8"%>
<!DOCTYPE html >
<html>
<head>


<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.1/css/bootstrap.min.css" rel="stylesheet" type="text/css">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.1/js/bootstrap.min.js"></script>
<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet" type="text/css"><!--必须-->
<link href="summernote-master/dist/summernote.css" rel="stylesheet" type="text/css"><!--必须-->
<script src="summernote-master/dist/summernote.js"></script><!--必须-->
<script src="summernote-master/lang/summernote-zh-CN.js"></script>


<title>bootstrap-markdown</title>
<style>
.note-alarm {
float: right;
margin-top: 10px;
margin-right: 10px;
}
</style>
</head>
<body>
 <div id="summernote"></div>
<script type="text/javascript">

$(document).ready(function() {
  
/* function sendFile(file, editor,welEditable) {
 console.log("file="+file);
 console.log("editor="+editor);
 console.log("welEditable="+welEditable);
  data = new FormData();
  data.append("blog_image[image]", file);
  $.ajax({
   url: 'blog_images.jsp',
   data: data,
   cache: false,
   contentType: false,
   processData: false,
   type: 'POST',
   success: function(data){
    editor.insertImage(welEditable, data.url);
   }
  });
 }
*/
 $('#summernote').summernote({
  height: 300, /*高さを指定*/
  lang: 'zh-CN', // default: 'en-US'
 focus:true,
  toolbar: [
   ['style', ['bold', 'italic', 'underline', 'clear']],
   ['fontsize', ['fontsize']],
   ['color', ['color']],
   ['para', ['ul', 'ol', 'paragraph']],
   ['height', ['height']],
   ['insert', ['picture', 'video']]
  ],
 /* image: {
     
     selectFromFiles: '选择文件'
    
    }, */
  /*onImageUpload: function(files, editor, welEditable) {
    sendFile(files[0], editor,welEditable);
  }*/
    onImageUpload: function(files, editor, $editable) {
  sendFile(files[0],editor,$editable);
  }
  
  
 });
});


function sendFile(file, editor, $editable){
$(".note-toolbar.btn-toolbar").append('正在上传图片');
var filename = false;
try{
filename = file['name'];
alert(filename);
} catch(e){filename = false;}
if(!filename){$(".note-alarm").remove();}
//以上防止在图片在编辑器内拖拽引发第二次上传导致的提示错误
var ext = filename.substr(filename.lastIndexOf("."));
ext = ext.toUpperCase();
var timestamp = new Date().getTime();
var name = timestamp+"_"+$("#summernote").attr('aid')+ext;
//name是文件名,自己随意定义,aid是我自己增加的属性用于区分文件用户
data = new FormData();
data.append("file", file);
data.append("key",name);
data.append("token",$("#summernote").attr('token'));

$.ajax({
data: data,
type: "POST",
url: "/summernote/fileupload", //图片上传出来的url,返回的是图片上传后的路径,http格式
contentType: "json",
cache: false,
processData: false,
success: function(data) {
//data是返回的hash,key之类的值,key是定义的文件名
alert(data);
//把图片放到编辑框中。editor.insertImage 是参数,写死。后面的http是网上的图片资源路径。
//网上很多就是这一步出错。
$('#summernote').summernote('editor.insertImage', "http://res.cloudinary.com/demo/image/upload/butterfly.jpg");

$(".note-alarm").html("上传成功,请等待加载");
setTimeout(function(){$(".note-alarm").remove();},3000);
},
error:function(){
$(".note-alarm").html("上传失败");
setTimeout(function(){$(".note-alarm").remove();},3000);
}
});
}

</script>
</body>
</html>

以上这篇一个简单不报错的summernote 图片上传案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 性能优化指南 (1)
May 21 Javascript
基于jQuery的ajax功能实现web service的json转化
Aug 29 Javascript
js查错流程归纳
May 04 Javascript
页面加载完毕后滚动条自动滚动一定位置
Feb 20 Javascript
JavaScript闭包实例讲解
Apr 22 Javascript
理解jQuery stop()方法
Nov 21 Javascript
jQuery中offsetParent()方法用法实例
Jan 19 Javascript
jQuery简单实现tab选项卡切换效果
Jun 20 Javascript
vue多次循环操作示例
Feb 08 Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
Jan 16 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
Apr 20 Javascript
Vue + iView实现Excel上传功能的完整代码
Jun 22 Vue.js
Bootstrap实现弹性搜索框
Jul 11 #Javascript
Summernote实现图片上传功能的简单方法
Jul 11 #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
You might like
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
2017/03/15 PHP
PHP反射学习入门示例
2019/06/14 PHP
常用js脚本
2006/12/03 Javascript
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
2016/09/09 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
2016/12/25 Javascript
react-redux中connect()方法详细解析
2017/05/27 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
JavaScript实现音乐自动切换和轮播
2017/11/05 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
python类参数self使用示例
2014/02/17 Python
Python实现的ini文件操作类分享
2014/11/20 Python
Python的Asyncore异步Socket模块及实现端口转发的例子
2016/06/14 Python
python正则中最短匹配实现代码
2018/01/16 Python
Python代码缩进和测试模块示例详解
2018/05/07 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
python opencv判断图像是否为空的实例
2019/01/26 Python
python内置模块collections知识点总结
2019/12/19 Python
python中tab键是什么意思
2020/06/18 Python
python dict如何定义
2020/09/02 Python
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
小学红领巾中秋节广播稿
2014/01/13 职场文书
小学生操行评语
2014/04/22 职场文书
中学生英语演讲稿
2014/04/26 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
员工自我工作评价
2015/03/06 职场文书
保送生自荐信范文
2015/03/26 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
新学期新寄语,献给新生们!
2019/11/15 职场文书
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL