富文本编辑器上传图片

一、导入kindeditor的js

<script type="text/javascript" charset="utf-8" src="/js/kindeditor-4.1.10/kindeditor-all-min.js"></script>
<script type="text/javascript" charset="utf-8" src="/js/kindeditor-4.1.10/lang/zh_CN.js"></script>

二、将kindeditor与一个文本域textarea进行关联,即用textarea初始化一个kindeditor对象

itemAddEditor = TAOTAO.createEditor("#itemAddForm [name=desc]");
//初始化类目选择和图片上传器
 TAOTAO.init({fun:function(node){
    TAOTAO.changeItemParam(node, "itemAddForm");
 }});

三、设置要上传的参数

var TT = TAOTAO = {
  // 编辑器参数
  kingEditorParams : {
    //指定上传文件参数名称
    filePostName : "uploadFile",
    //指定上传文件请求的url。
    uploadJson : '/pic/upload',
    //上传类型,分别为image、flash、media、file
    dir : "image"
  },
  
  init : function(data){
    // 初始化图片上传组件
    this.initPicUpload(data);
    // 初始化选择类目组件
    this.initItemCat(data);
  },
  // 初始化图片上传组件
  initPicUpload : function(data){
    $(".picFileUpload").each(function(i,e){
      var _ele = $(e);
      _ele.siblings("div.pics").remove();
      _ele.after('\
        <div class="pics">\
          <ul></ul>\
        </div>');
      // 回显图片
      if(data && data.pics){
        var imgs = data.pics.split(",");
        for(var i in imgs){
          if($.trim(imgs[i]).length > 0){
            _ele.siblings(".pics").find("ul").append("<li><a href='" imgs[i] "' target='_blank'><img src='" imgs[i] "' width='80' height='50' /></a></li>");
          }
        }
      }
      //给“上传图片按钮”绑定click事件
      $(e).click(function(){
        var form = $(this).parentsUntil("form").parent("form");
        //打开图片上传窗口
        KindEditor.editor(TT.kingEditorParams).loadPlugin('multiimage',function(){
          var editor = this;
          editor.plugin.multiImageDialog({
            clickFn : function(urlList) {
              var imgArray = [];
              KindEditor.each(urlList, function(i, data) {
                imgArray.push(data.url);
                form.find(".pics ul").append("<li><a href='" data.url "' target='_blank'><img src='" data.url "' width='80' height='50' /></a></li>");
              });
              form.find("[name=image]").val(imgArray.join(","));
              editor.hideDialog();
            }
          });
        });
      });
    });

服务端代码

 public Map uploadPicture(MultipartFile uploadFile) {
    Map resultMap=new HashMap<>();
    try {
      //生成一个新的文件名
      //去原始文件名
      String oldName=uploadFile.getOriginalFilename();
      //生成新的文件名
      //UUID.randomUUID();
      String newName=IDUtils.genImageName();
      newName=newName oldName.substring(oldName.lastIndexOf("."));
      String imagePath=new DateTime().toString("/yyyy/MM/dd");
      //上传图片
      boolean result=FtpUtil.uploadFile(FTP_ADDRESS,FTP_PORT, FTP_USERNAME, FTP_PASSWORD, FTP_BASE_PATH,
          imagePath, newName, uploadFile.getInputStream());
      System.out.println("result=" result);
      if(!result){
        resultMap.put("error", 1);
        resultMap.put("message", "文件上传失败");
        System.out.println("hh");
        return resultMap;
      }
      
      resultMap.put("error", 0);
      resultMap.put("url", IMAGE_BASE_PATH   imagePath   "/"   newName);
      return resultMap;
    } catch (IOException e) {
      resultMap.put("error", 1);
      resultMap.put("message", "文件上传异常");
      return resultMap;
    }
  }

注意:服务端返回的json串的格式{error: 0|1,message|url} 其中error为整型不为字符串,如果写成字符串图片能够正常上传至服务器,但是不能在浏览器中回显。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

使用富文本编辑器上传图片实例详解的更多相关文章

  1. php+croppic.js实现剪切上传图片功能

    最近做项目遇到这样的需求,需要实现裁剪图片上传,接下来通过本文给大家分享基于php+croppic.js实现剪切上传图片功能,需要的朋友可以参考下

  2. jQuery实现判断上传图片类型和大小的方法示例

    这篇文章主要介绍了jQuery实现判断上传图片类型和大小的方法,结合实例形式分析了jQuery针对上传图片属性获取、判定相关操作技巧,需要的朋友可以参考下

  3. yii2 上传图片的示例代码

    这篇文章主要介绍了yii2 上传图片的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  4. TinyMCE汉化及本地上传图片功能实例详解

    这篇文章主要介绍了TinyMCE汉化及本地上传图片功能实例详解的相关资料,由于我们下载下拉的是英文版,需要先汉化,比较简单,需要的朋友可以参考下

  5. nodejs利用ajax实现网页无刷新上传图片实例代码

    本篇文章主要介绍了nodejs利用ajax实现网页无刷新上传图片实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  6. 通过AngularJS实现图片上传及缩略图展示示例

    本篇文章主要介绍了通过AngularJS实现图片上传及缩略图展示,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. PHP上传图片、删除图片简单实例

    这篇文章主要介绍了PHP上传图片、删除图片简单实例的相关资料,并附实现代码实例,需要的朋友可以参考下

  8. node koa2实现上传图片并且同步上传到七牛云存储

    这篇文章主要介绍了node koa2实现上传图片并且同步上传到七牛云存储,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  9. JSP上传图片产生 java.io.IOException: Stream closed异常解决方法

    在做jsp上传图片时,把java代码直接改成 jsp,上传时产生异常,很是疑惑,于是搜索整理了一下解决方法,需要了解的朋友可以参考下

  10. PHP中ajax无刷新上传图片与图片下载功能

    本文给大家分享php ajax无刷新上传图片与图片下载功能的实现代码,非常不错,具有参考借鉴价值,需要的的朋友参考下

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部