首页 > 解决方案 > 将粘贴的剪贴板图像从 CKeditor 传递到 Dropzone

问题描述

我们目前有通过 Dropzone.js 处理所有图像上传的代码。这包括从剪贴板粘贴和通过当前有效的 dropzone.js 上传的功能。这是那个事件代码:

document.onpaste = function(event)
{
    alert('pasted');    
    var items = (event.clipboardData || event.originalEvent.clipboardData).items;
    for (index in items) {
        var item = items[index];
        if (item.kind === 'file') {
          // adds the file to your dropzone instance
          myDropzone.addFile(item.getAsFile());
        }
      }
}

在此之后,我们向该页面添加了一个 CKEditor (v4.10) html 文本编辑器。CKEditor 有自己的内置剪贴板处理功能。如果您激活 CKEditor(例如通过单击文本区域),CKEditor 从该点有效地控制剪贴板。这是正确的,因为我们希望编辑器仍然能够复制和粘贴文本。

但是,CKEditor 本身并没有内置图像上传功能。它需要一个插件。但是我们不希望使用这个插件,而是拦截粘贴事件,如果粘贴的数据是图像,则将其传递给我们的 dropzone.js 处理程序。

虽然我能够拦截该事件,但我不确定我可以从 CKEditor 粘贴事件中提取哪些事件数据(如果有)以传递给 Dropzone 处理程序。这是到目前为止的代码:

var editor = CKEDITOR.instances.NoteText;   
editor.on( 'paste', function( event )   
{       
   alert('pasted ck');      
   console.dir(event);      
   //myDropzone.addFile(item.getAsFile());  
} );

我已尝试检查该事件以查看是否有任何东西可供我使用,但似乎没有找到任何东西。

我想要完成的事情可能吗?我是否有可能以某种方式找到粘贴的事件数据并将其从 CKEditor 传递到 DropZone?还是我必须实现 CKEditor 图片上传插件?

谢谢。

标签: ckeditordropzone.js

解决方案


推荐阅读