个人资源与分享网站:http://xiaocaoshare.com/

1.页面结构

<script src="../statics/js/plugins/summernote/summernote.js"></script>
    <script src="../statics/js/plugins/summernote/summernote-zh-CN.min.js"></script>

<div class="form-group col-lg-8">
                                <input id="content" name="content" type="hidden" value='${article.content }'/> 
                                <label class="control-label col-lg-3">内容:</label>
                                <div class="col-sm-11">
                                    <div class="ibox-content no-padding">
                                        <div id="content_sn" class="summernote"></div>
                                    </div>
                                </div>
                              </div>

2.js

$().ready(function() {

$('.summernote').summernote({
        height : '220px',
        lang : 'zh-CN',
        callbacks: {
            onImageUpload: function(files, editor, $editable) {
                sendFile(files);
            }
        }
    });
    var content = $("#content").val();
    console.log(content);
    $('#content_sn').summernote('code', content);
});

//编辑器新增的ajax上传图片函数
function sendFile(files, editor, $editable) {
    var size = files[0].size;
    if((size / 1024 / 1024) > 2) {
        alert("图片大小不能超过2M...");
        return false;
    }
    console.log("size="+size);
    var formData = new FormData();
    formData.append("file", files[0]);
    $.ajax({
        data : formData,
        type : "POST",
        url : "/file/upload",    // 图片上传出来的url,返回的是图片上传后的路径,http格式
        cache : false,
        contentType : false,
        processData : false,
        dataType : "json",
        success: function(data) {//data是返回的hash,key之类的值,key是定义的文件名
            $('.summernote').summernote('insertImage',data.fileName);
            alert("上传成功");
        },
        error:function(){
            alert("上传失败");
        }
    });

function save(status) {
//    $("#status").val(status);
    var content_sn = $("#content_sn").summernote('code');
    $("#content").val(content_sn);
    console.log($("#content").val());
    console.log();
    $.ajax({
        cache : true,
        type : "POST",
        url : "/article/save",
        data : $('#signupForm').serialize(),// 你的formid
        async : false,
        error : function(request) {
            parent.layer.alert("Connection error");
        },
        success : function(r) {
            if (r.code == 0) {
//                parent.layer.msg(r.msg);
//                parent.reLoad();
                //$("#cid").val(r.cid);
                layer.msg("发布成功");
            } else {
                parent.layer.alert(r.msg)
            }
        }
    });
}

3.

@ResponseBody
    @PostMapping("/upload")
    public R upload(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
        String fileName = file.getOriginalFilename();
        fileName = FileUtil.renameToUUID(fileName);
        File sysFile = new File(FileType.fileType(fileName), "/files/" + fileName, new Date());
        try {
            FileUtil.uploadFile(file.getBytes(), saveFilePath, fileName);
        } catch (Exception e) {
            return R.error();
        }
        fileService.save(sysFile);
        return R.ok().put("fileName", sysFile.getUrl());
    }

使用summernote实现复制图片即可实现图片上传相关推荐

  1. summernote富文本编辑器的自定义附件上传:不限于图片类型

    summernote富文本编辑器的自定义附件上传 前言 一.自定义上传附件按钮和弹窗 二.结合PHP上传文件进行后端处理 三.用jq模拟点击添加链接方式去处理上传附件 前言 summernote的上传 ...

  2. Delphi FMX正确设计和加载图片满足分布式跨平台App的性能需求-分布式跨平台App中美工图片的处理、上传下载、并发及客户端显示技术架构

    Delphi FMX正确设计和加载图片满足分布式跨平台App的性能需求 分布式跨平台App中美工图片的处理.上传下载.并发及客户端显示技术架构 [综合:客户端(内存耗用.设备屏幕的自动适配).服务端( ...

  3. H5图片预览及上传(WEB前端)

    H5图片预览及上传 web上传图片很简单,网上有许多的demo和js,但是本人嫌弃用那些会引入许多js包,所以还是用原生的jquery来写吧. 一.html布局文件 html有一个自己的上传文件控件- ...

  4. CSDN 转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(已有图床)

    前言 注意:本篇并非创建图床的问题 本人使用的图床是阿里云的 最近将本地的markdown文档上传到CSDN,所有的图片都会提示:源站可能有防盗链机制,建议将图片保存下来直接上传 但是直接把图片链接粘 ...

  5. 图片和视频的上传(文件上传通用)

    流程如下: 1.先引入el-upload 2.调用上传前事件 3.上传前事件中将file文件转formData 4.调用后端oss接口上传文件 5.上传完成后回显数据 6.点击图片/视频预览 图片和视 ...

  6. 图片、音视频消息上传优化

    图片.音视频消息上传优化 通常图片.音视频等多媒体消息相对于文本消息会大很多,因此,多媒体消息在网络传输.实时触达等方面相需要有更多的优化.本文就针对如何使图片.视频.语音等多媒体消息发送得又快又稳进 ...

  7. axios获取图片显示_Vue.js+axios图片预览以及上传显示进度

    在平时项目开发中,我们经常会对文件做一些上传操作,不仅仅要实现基本需求,也要兼顾用户体验,根据自己在工作中遇到的问题谈谈对图片上传的预览以及上传进度的优化. 1.搭建项目 基于Vue.js+axios ...

  8. 解决:百度编辑器UEditor,怎么将图片保存到图片服务器,或者上传到ftp服务器的问题(如果你正在用UE,这篇文章值得你看下)

    解决:百度编辑器UEditor,怎么将图片保存到图片服务器,或者上传到ftp服务器的问题(如果你正在用UE,这篇文章值得你看下) 参考文章: (1)解决:百度编辑器UEditor,怎么将图片保存到图片 ...

  9. 【Android实战】----基于Retrofit实现多图片/文件、图文上传

    本文代码详见:https://github.com/honghailiang/RetrofitUpLoadImage 一.再次膜拜下Retrofit Retrofit无论从性能还是使用方便性上都很屌! ...

  10. 图片文件压缩并上传至阿里云OSS

    图片处理 Thumbnails 在进行Java开发时可以使用Thumbnails工具类对图片进行处理,旋转.裁剪.格式转换.加水印等. 使用步骤 导包 <dependency><gr ...

最新文章

  1. 飞书与德勤管理咨询达成战略合作,赋能企业实现智慧运营与管理
  2. 阿里巴巴制定了这 16 条
  3. 利用SQL Server 2005特性删除表中重复数据
  4. 【HAVENT原创】Node Express API 通用配置
  5. matlab ones函数_Matlab中相见恨晚的命令(持续更新)
  6. MySQL MGR实现分析 - 成员管理与故障恢复实现
  7. (转)浅说深度学习:核心概念
  8. 手机变速齿轮_变速齿轮手机版下载-变速齿轮手机版安卓下载v1.2
  9. dell笔记本外接显示器_戴尔笔记本怎样外接显示器
  10. css重复,css3重复渐变效果
  11. 【Keil C51单片机延时程序】
  12. 封神台——手工注入基础(猫舍)
  13. Excel查找匹配VLOOKUP用法
  14. MapStruct、ignore
  15. nodejs项目云端部署初试
  16. 从psd图中找到对应图层,导出图片
  17. 如何用ARDUINO制作一个鸟蛋孵化器
  18. 谷粒学苑 —— 7、课程管理:课程发布页面2 —— 课程大纲
  19. 机械硬盘拆卸图文教程
  20. [转]微博后台架构浅析——读扩散pull、写扩散push、混合模式(push+pull)——相关cache(redis,memcache)...

热门文章

  1. jQuery带动画的弹出对话框
  2. 17个Python小窍门
  3. 从零开始学 Python 之运算符
  4. Camel之AsyncProcessor
  5. 交互式数据可视化-D3.js(一)
  6. Linux基础网络服务概述
  7. Connection cannot be null when 'hibernate.dialect'
  8. android sqlite操作(2)
  9. 实验1 命令解释程序的编写
  10. 自己写的Python数据库连接类和sql语句拼接方法