将粘贴的剪贴板图像从CKeditor传递到Dropzone

时间:2019-11-20 09:01:21

标签: ckeditor dropzone.js

我们目前有处理通过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图像上传插件?

谢谢。

0 个答案:

没有答案