首页 > 其他分享 >HTML编辑器如何能实现直接粘贴把图片上传到服务器中

HTML编辑器如何能实现直接粘贴把图片上传到服务器中

时间:2023-03-21 16:00:29浏览次数:48  
标签:wordpaster text base64 编辑器 HTML 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​

 

标签:wordpaster,text,base64,编辑器,HTML,items,var,粘贴,图片
From: https://www.cnblogs.com/songsu/p/17240328.html

相关文章

  • fckeditor粘贴word图片且图片文件自动上传功能
    这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)<%@ page language="java" impo......
  • HTML15新增元素
    HTML5新增元素概述HTML5新增的主要结构元素有6个:header、nav、article、aside、section、footer。header在HTML5中,header元素一般用于3个地方:页面头部:如网站名称、......
  • ueditor粘贴word图片且图片文件自动上传功能
    如何做到ueditor批量上传word图片?1、前端引用代码<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tra......
  • 几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
    富文本编辑器富文本编辑器(RichTextEditor,RTE)是一种可内嵌于浏览器,所见即所得的文本编辑器。它提供类似于OfficeWord的编辑功能,方便那些不太懂HTML用户使用,富文本编......
  • ckeditor粘贴word文档图片的组件
    由于工作需要必须将word文档内容粘贴到编辑器中使用但发现word中的图片粘贴后变成了file:///xxxx.jpg这种内容,如果上传到服务器后其他人也访问不了,网上找了很多编辑器发现......
  • ckeditor粘贴word文档图片的插件
    自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑器(富......
  • 前端三剑客基础入门(html css js)
    首先对他们的在界面中的功用做一个说明HTML来决定界面的结构,CSS保证界面的美化,JS保证界面的效果/动作HTML1.HTML介绍HTML(HyperTextMarkupLanguage):超文本标记语......
  • HTML5 新增标签
    HTML5新增标签1.1新增页面布局标签标签名语义和功能属性单标签还是双标签header页头双标签footer页脚双标签nav导航条双标签section页......
  • vue2 - 好用的markdown开源编辑器
    mavonEditor:https://github.com/hinesboy/mavonEditor VueQuillEditor:https://www.kancloud.cn/liuwave/quill/1434140//main.js使用markdown插件importVueQuillEd......
  • HTML中使用Echarts
    一、Echarts介绍常见的数据可视化库:D3.js目前Web端评价最高的Javascript可视化工具库(入手难)ECharts.js百度出品的一个开源Javascript数据可视化库(贡献给......