一个简单不报错的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 相关文章推荐
为指定元素增加样式的js代码
Dec 09 Javascript
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
Jul 11 Javascript
js 有框架页面跳转(target)三种情况下的应用
Apr 09 Javascript
基于javascript的COOkie的操作实现只能点一次
Dec 26 Javascript
JavaScript必知必会(七)js对象继承
Jun 08 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
Sep 05 Javascript
javascript使用闭包模拟对象的私有属性和方法
Oct 05 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
Mar 07 Javascript
Angular中响应式表单的三种更新值方法详析
Aug 22 Javascript
JS实现数组的增删改查操作示例
Aug 29 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
Feb 14 Javascript
让IDE识别webpack的别名alias的实现方法
May 06 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 文本文件的读取效率
2012/02/10 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
php+js iframe实现上传头像界面无跳转
2014/04/29 PHP
PHP发送短信代码分享
2015/08/11 PHP
Symfony模板的快捷变量用法实例
2016/03/17 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
tagName的使用,留一笔
2006/06/26 Javascript
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
2017/06/01 Javascript
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
2017/06/13 jQuery
Javascript网页抢红包外挂实现分享
2018/01/11 Javascript
vuejs实现折叠面板展开收缩动画效果
2018/09/06 Javascript
JavaScript多种页面刷新方法小结
2019/04/04 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
深入理解Python中字典的键的使用
2015/08/19 Python
利用Python实现命令行版的火车票查看器
2016/08/05 Python
用python找出那些被“标记”的照片
2017/04/20 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
2018/12/27 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
python 中如何获取列表的索引
2019/07/02 Python
python 读txt文件,按‘,’分割每行数据操作
2020/07/05 Python
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
技术股东合作协议书
2014/12/02 职场文书
入党介绍人意见2015
2015/06/01 职场文书
小学校园广播稿
2015/08/18 职场文书
高中政治教学反思
2016/02/23 职场文书
PHP使用非对称加密算法RSA
2021/04/21 PHP
Python如何利用pandas读取csv数据并绘图
2022/07/07 Python