首页 > 编程语言 >KindEditor粘贴图片自动上传到服务器(Java版)

KindEditor粘贴图片自动上传到服务器(Java版)

时间:2023-04-11 16:22:33浏览次数:44  
标签:KindEditor Java text base64 wordpaster items var 粘贴 图片

图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码
目前限chrome浏览器使用
首先以um-editor的二进制流保存为例:
打开umeditor.js,找到UM.plugins['autoupload'],然后找到autoUploadHandler方法,注释掉其中的代码。
加入下面的代码:

//判断剪贴板的内容是否包含文本

//首先解释一下为什么要判断文本是不是为空

//在ctrl+c word中的文字或者图片之后会返回1种(image/png)或者4种type(text/plain,text/html,text/rtf,image/png)类型的对象

//为了兼容4种格式的情况,做了如下的判断

//如下代码:e.originalEvent.clipboardData.items获得剪贴板的内容

//当粘贴了文本之后text是不为空的,同时也会返回当前文本的图片类型

//如果有文字的话不做任何的处理,如果只粘贴图片的话文本一定是空的,包括复制的桌面图片或者截图的图片

var text = e.originalEvent.clipboardData.getData("text");

if(text == ""){

    var items=e.originalEvent.clipboardData.items;

     for (var i = 0, len = items.length; i < len; i++) {

        var item = items[i];

       if ( item.kind == 'file' && item.type.indexOf('image/') !== -1 ) {

         

              var blob = item.getAsFile();

              getBase64(blob, function( base64 ) {

              //sendAndInsertImage(base64,me); 上传到服务器

               setBase64Image(base64,me);

              });

              //阻止默认事件, 避免重复添加;

              e.originalEvent.preventDefault();

             };

        }

}

两个方法:

//执行插入图片的操作

function setBase64Image(base64,editor){

    editor.execCommand('insertimage', {src: base64,_src: base64});

}

//获得base64

function  getBase64(blob, callback) {

    var a = new FileReader();

    a.onload = function(e) {callback(e.target.result);};

    a.readAsDataURL(blob);

};

效果展示:

 

更多详细资料可以参考这篇文章:

详细思路及源码

示例下载:

wordpaster-vue3-cli-ueditor1.5wordpaster-vue-ueditor1.5wordpaster-asp.net-ueditor1.5xwordpaster-php-ueditor1xwordpaster-jsp-ueditor1x​

 

标签:KindEditor,Java,text,base64,wordpaster,items,var,粘贴,图片
From: https://www.cnblogs.com/songsu/p/17306639.html

相关文章

  • Java实现Excel导入和导出,看这一篇就够了(珍藏版)
    前言Java实现表格的相关操作进行了封装,本次封装是基于POI的二次开发,最终使用只需要调用一个工具类中的方法,就能满足业务中绝大部门的导入和导出需求。1.功能测试1.1测试准备在做测试前,我们需要將【2.环境准备】中的四个文件拷贝在工程里(如:我这里均放在了com.zyq.util.exc......
  • Java创建文件时同时需要创建外层多个文件夹
    在Java中,如果您使用File类创建一个新文件,并且指定的路径中包含不存在的文件夹,那么会抛出IOException异常,因为Java不会自动创建缺少的目录结构。要解决这个问题,可以通过以下方法来手动创建缺失的目录:使用File.mkdirs()方法在所需的目录结构下创建文件夹。例如:1Filefile......
  • 随笔(十六)『通过图片URL下载图片-Java』
    publicvoiddownloadInvitationImage(Map<String,Object>params,HttpServletResponseresponse){StringvisitPath=(String)params.get("visitPath");//公网urlServletOutputStreamsos=null;InputStreamis......
  • java环境变量
    右键我的电脑-属性-高级系统设置-环境变量  在箭头标识那里进行环境变量点击新建-变量名:JAVA_HOME  变量值:自己安装jdk的路径如(D:\program\ljyjdk8) 最后找到Path这行-编辑-新建 新建值为%JAVA_HOME%\bin......
  • wangEditor粘贴图片自动上传到服务器(Java版)
    ​ 这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@     page contentType="text/html;cha......
  • 重学Java设计模式-行为型模式-责任链模式
    重学Java设计模式-行为型模式-责任链模式内容摘自:https://bugstack.cn/md/develop/design-pattern/2020-06-18-重学Java设计模式《实战责任链模式》.html#重学-java-设计模式-实战责任链模式「模拟618电商大促期间-项目上线流程多级负责人审批场景」责任链模式介绍图片来自......
  • java Optional使用
    1.Optional.of()或者Optional.ofNullable()创建Optional对象,差别在于of不允许参数是null,而ofNullable则无限制。1//参数不能是null2Optional<Integer>optional1=Optional.of(1);34//参数可以是null5Optional<Integer>optional2=Optional.ofNullable(null);2......
  • Java 日期
    string和Date的相互转换//string与Date的相互转换用//StringtoDateDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");StringdateTest="2023-4-1114:30:00";Dateparse=null;try{......
  • 本地kafka安装以及使用java作为客户端
    1.使用windows下载kafka地址:https://kafka.apache.org/    下载安装后,使用命令行启动: 进入kafka所在目录,执行命令:   #启动zookeeper命令: bin\windows\zookeeper-server-start.bat.\config\zookeeper.properties#启动kafka命令bin\windows\kafka-server......
  • odoo中用javascript调用model中定义好的方法
    odoo中如果前端界面要调用后台model中写好的方法,很简单。使用do_action即可,比如要调用改res.users的默认语言后执行的方法 odoo.define('switch_language.SwitchLanguageMenu',function(require){"usestrict";varModel=require('web.Model');varse......