使用CKEditor的上传来自用户的本地路径的文件?(Upload files from users

2019-10-24 08:45发布

我使用的CKEditor和CKEditor的的uploadimage插件,它帮助我在粘贴或丢弃在CKEditor的时候上传图片。 但是,当我从复制字具有一定的图像内容,并粘贴上的CKEditor它不是图像上传到,因为它有很多比图像之外的其它东西。 现在贴后,我有图像从用户的本地路径。 我可以从用户的本地路径使用的CKEditor或通过JavaScript到我的服务器上传这些文件?

http://docs.ckeditor.com/#!/guide/dev_file_upload这是我讲的插件。

Answer 1:

号的JavaScript已为您本地驱动器无法访问。 uploadimage处理HTML从浏览器获得,它依赖于浏览器,操作系统,在这种情况下,微软的Word版本。 JavaScript的剪贴板API获取数据,并在本地路径将被退回,而不是真实的数据,并且没有文件,没有什么智能可以做到的。

但可以肯定的,你可以检查哪些dataTransfer包含。 它可能发生,这里不仅HTML,但也文件,你可以上传。 添加糊监听器:

editor.on( 'paste', function( evt ) {
    console.log( evt.data.dataTransfer.getData( 'text/html' ) );
    console.log( evt.data.dataTransfer.getFilesCount() );
} );

如果它包含文件,您可以使用它上传fileLoader ,当上传成功后,与路径服务器上的图像替换本地路径。



Answer 2:

正如彼得所说,JavaScript不能直接读取本地文件,或将是一个巨大的安全问题。

据我所知有关从MS Word中粘贴图像最好的解决方法是使用图像从Word检测这些图像,并提示用户通过直接复制粘贴到上传插件。

它可能不是对你很重要,但另一个好处是,它不要求你改变的CKEditor的版本,因为它与任何CKEditor的4.x的作品



文章来源: Upload files from users local path using ckeditor?