ckeditor 实现ctrl+v粘贴图片并上传、word粘贴带图片

由于工作需要必须将word文档内容粘贴到编辑器中使用

但发现word中的图片粘贴后变成了file:///xxxx.jpg这种内容,如果上传到服务器后其他人也访问不了,网上找了很多编辑器发现没有一个能直接解决这个问题

考虑到自己除了工作其他时间基本上不使用windows,因此打算使用nodejs来解决这一问题

发现不管什么编辑器只要将图片转换成base64后就可以直接使用(IE8及一下可能不支持),由于编辑器中添加word文档功能也只是自己用,因此可以忽略这种浏览器了

找了很久,试用了很多编辑器,发现只有ckeditor的功能还算符合我的需求(支持自定义HTML属性)

然后我写了一个监听粘贴事件的操作,用来获取粘贴之后的file:///xxxx.jpg这种路径

将以上代码保存为一个word.js文件

然后执行 node word.js就会自动创建一个http服务了

这个时候我们在编辑器中使用jsonp获取到处理完的图片数据替换原来的file:///xxxxxx.jpg路径就搞定了

处理word图片批量上传的代码

ckeditor 实现ctrl+v粘贴图片并上传、word粘贴带图片_第1张图片

 

其它的业务逻辑参数代码

ckeditor 实现ctrl+v粘贴图片并上传、word粘贴带图片_第2张图片

 

当然也可以将以上代码打包成一个本地执行文件去给不懂电脑的人使用就行了(具体方法我这里就不说了)

前台引用的代码

ckeditor 实现ctrl+v粘贴图片并上传、word粘贴带图片_第3张图片

 

下面是实现后的效果,能够自动上传Word中的所有图片,并且有进度条显示

ckeditor 实现ctrl+v粘贴图片并上传、word粘贴带图片_第4张图片

 

所有图片都能够保存在服务器中,而且支持分布式图片存储

ckeditor 实现ctrl+v粘贴图片并上传、word粘贴带图片_第5张图片

 

编辑器中的图片地址已经全部替换成了服务器的图片地址,其它的用户也能够正常访问

ckeditor 实现ctrl+v粘贴图片并上传、word粘贴带图片_第6张图片

 

详细内容可以参考这篇文章:

http://blog.ncmem.com/wordpress/2019/10/17/ckeditor-%e5%ae%9e%e7%8e%b0ctrlv%e7%b2%98%e8%b4%b4%e5%9b%be%e7%89%87%e5%b9%b6%e4%b8%8a%e4%bc%a0%e3%80%81word%e7%b2%98%e8%b4%b4%e5%b8%a6%e5%9b%be%e7%89%87/

 

你可能感兴趣的:(wordpress)