一个简单不报错的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 相关文章推荐
不错的新闻标题颜色效果
Dec 10 Javascript
JavaScript对象学习经验整理
Oct 12 Javascript
javascript实现分栏显示小技巧附图
Oct 13 Javascript
jQuery中data()方法用法实例
Dec 27 Javascript
浅析js绑定事件的常用方法
May 15 Javascript
深入理解JavaScript函数参数(推荐)
Jul 26 Javascript
jquery获取select,option所有的value和text的实例
Mar 06 Javascript
为输入框加入数字js校验代码分享
Nov 02 Javascript
vue2.0+koa2+mongodb实现注册登录
Apr 10 Javascript
JS实现自定义弹窗功能
Aug 08 Javascript
vue实现虚拟列表功能的代码
Jul 28 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
Nov 11 Javascript
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
php 进度条实现代码
2009/03/10 PHP
PHP 文件类型判断代码
2009/03/13 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
基于jquery ajax 用户无刷新登录方法详解
2012/04/28 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
js实现键盘Enter键提交表单的方法
2015/05/27 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
JS实现队列与堆栈的方法
2016/04/21 Javascript
jQuery双向列表选择器DIV模拟版
2016/11/01 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
2019/09/28 Javascript
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
vue导入.md文件的步骤(markdown转HTML)
2020/12/31 Vue.js
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python字符转换
2008/09/06 Python
Python如何实现转换URL详解
2019/07/02 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
通过python调用adb命令对App进行性能测试方式
2020/04/23 Python
Python通过fnmatch模块实现文件名匹配
2020/09/30 Python
html5贪吃蛇游戏使用63行代码完美实现
2013/06/25 HTML / CSS
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
介绍一下.net和Java的特点和区别
2012/09/26 面试题
高级护理专业大学生求职信
2013/10/24 职场文书
cf收人广告词大全
2014/03/14 职场文书
办公室主任竞聘演讲稿
2014/05/15 职场文书
十周年庆典策划方案
2014/06/03 职场文书
机关作风整顿个人剖析材料
2014/10/06 职场文书
实习证明模板
2015/06/16 职场文书
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python
详解Python自动化之文件自动化处理
2021/06/21 Python
SpringBoot实现quartz定时任务可视化管理功能
2021/08/30 Java/Android