富文本框编辑器实现:a、支持图片复制粘贴;b、支持word复制粘贴图文。

Chrome+IE默认支持粘贴剪切板中的图片,可是我要发布的文章存在word里面,图片多达数十张,我总不能一张一张复制吧
Chrome高版本提供了能够将单张图片转换在BASE64字符串的功能。可是没法处理多张图片。并且转换成BASE64后是做为内容一块儿提交给服务器,不可以将图片单独保存在另一台服务器中。若是须要单独保存则须要自已进行处理。比较麻烦。

我但愿打开Word或者WPS文档后,复制内容而后直接粘贴到富文本编辑器中,编辑器自动将图片批量上传到服务器中,不管文档中有多少张图片,编辑器都所有自动上传,不须要再手动一张张处理。同时可以将图片上传到我指定的接口中,服务器须要将图片单独保存在存储服务器中,好比多是云存储,或者是分布式存储,最后直接发布内容。

html

感受这个彷佛很困难,由于Ueditor自己不支持,粘贴后直接就是空白,这里面必定有缘由。web

好,开始尝试UMeditor,Chrome只能得到本地路径,没法读取文件。服务器

https://ueditor.baidu.com/website/umeditor.html(有兴趣能够试试)编辑器

 

 

难道就这么失败了?分布式

,可是我意外发现UMeditor居然支持粘贴word中的多张图片(仅支持IE11,不支持IE10如下版本、以及Chrome等)wordpress

切换HTML,会看到你的图片被组织成base64 url


nice,机会来了,既然IE支持复制word中的多张图片直接粘贴base64,既然有了base64咱们就有办法上传转图片啦!spa

那么咱们来改造Ueditor,让他支持IE11(总比没得用强吧)htm

打开你的ueditor.all.js(1.4.3版本如下行号根据本身使用的版本可能不一样)blog

1、注释掉14679行(暂时不明确有什么不良影响)

//执行默认的处理

//me.filterInputRule(root);

2、在28725行插入如下代码(若是是使用IE11粘贴会获得base64,先用占位符占位,再逐个把base64专成Blob文件并上传,上传完成再替换为你的img属性src为服务器图片url)

服务端上传代码

 

处理后的效果,可以批量上传word中全部的图片,真的是太方便了。不管多少张图片均可以一次性批量上传。这个功能真的是太方便了,大幅度提高了内容编辑人员的效率。之前一天只能发布一篇文章,如今可以发布100篇,这效率简直提高了100倍呀。

 

图片上传后保存在服务器端。并且也能够指定上传接口地址,这个也比较方便。由于咱们的业务是将图片保存在单独的云存储服务器中。

 

3、处理ueditor提供的uploadimage方法

客户已经使用半年,没有问题,很是有用,很是方便的功能

有须要的朋友能够下载:http://blog.ncmem.com/wordpress/2019/08/07/ueditor复制word图片粘贴上传-2/