一个简单不报错的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之二(两种扩展)
Jun 11 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
Mar 29 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
Aug 18 Javascript
jquery easyui滚动条部分设置介绍
Sep 12 Javascript
js解析json读取List中的实体对象示例
Mar 11 Javascript
谈谈jQuery Ajax用法详解
Nov 27 Javascript
原生js编写autoComplete插件
Apr 13 Javascript
微信小程序实现全局搜索代码高亮的示例
Mar 30 Javascript
d3.js实现自定义多y轴折线图的示例代码
May 30 Javascript
Vue2.0点击切换类名改变样式的方法
Aug 22 Javascript
vue 修改 data 数据问题并实时显示的方法
Aug 27 Javascript
Vue axios设置访问基础路径方法
Sep 19 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+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
php mail to 配置详解
2014/01/16 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
thinkphp配置文件路径的实现方法
2016/08/30 PHP
PHP查看SSL证书信息的方法
2016/09/22 PHP
JavaScript 基础问答三
2008/12/03 Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
2013/01/30 Javascript
js自定义方法通过隐藏iframe实现文件下载
2013/02/21 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
Node.js系列之安装配置与基本使用(1)
2019/08/30 Javascript
详解vue路由
2020/08/05 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
vue实现树状表格效果
2020/12/29 Vue.js
[40:05]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第一局
2016/02/25 DOTA
Python中的异常处理学习笔记
2015/01/28 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
学习python可以干什么
2019/02/26 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
使用Python实现文字转语音并生成wav文件的例子
2019/08/08 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
python调用win32接口进行截图的示例
2020/11/11 Python
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
《自选商场》教学反思
2014/02/14 职场文书
《燕子专列》教学反思
2014/02/21 职场文书
高中学生期末评语
2014/04/25 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
保管员岗位职责
2015/02/14 职场文书
golang 生成对应的数据表struct定义操作
2021/04/28 Golang