密文编辑器从剪贴板复制和粘贴图像


redactor copy and paste images from clipboard

我在我的网站上使用Redactor,该网站基于代码峡谷中的Tickets by Dalegroup模块。我希望能够从剪贴板中复制和粘贴图像(基本上是从word中复制文档并将其与图像完整粘贴)Redactor设置页面我曾试图让它发挥作用,但我就是做不到。我已经尝试创建我自己的文件上传脚本:

<?php
$dir = '/knowledge/files/';
$contentType = $_POST['contentType'];
$data = base64_decode($_POST['data']);

$filename = md5(date('YYHis')).'.png';
$file = $dir.$filename;
file_put_contents($file, $data);
echo json_encode(array('filelink' => '/tmp/'.$filename));
?>

上面这似乎不起作用,我也启用了他们网站上的功能:

This setting allows to paste images from clipboard and upload them to the server. It     works in latest Chrome, Firefox and Opera (Webkit).
Default setting is true, to turn off, set clipboardUpload: false.
To perform pasted images uploads, set the following:
$('#redactor').redactor({
clipboardUploadUrl: '/your_clipboard_upload_script/'
});

现在,我唯一没有尝试的是那里的底层代码,因为密文文件包括一个包含所有已启用选项的部分,所以我认为我不需要它。怎么可能做到这一点?

谢谢。

更新:

好的,通过在redactor.js:中启用和设置一些变量,我可以为redactor进行复制和粘贴

dragUpload: true, // false
imageTabLink: true,
imageUpload: '/user/files/', // url
imageUploadParam: 'file', // input name
imageResizable: true,
fileUpload: '/user/files/', // url
fileUploadParam: 'file', // input name
clipboardUpload: true, // or false
clipboardUploadUrl: '/user/files/', // url

然后,在我的票证的html_header.php文件中,我在第69行开始的$('.wysiwyg_enabled').redactor代码中添加了以下内容:

clipboardUploadUrl: '/user/files/fileupload.php',
fileUpload: '/user/files/fileupload.php'

最后添加了我的文件上传.php:

<?php
// files storage folder
$dir = '/user/files/';
$_FILES['file']['type'] = strtolower($_FILES['file']['type']);
if ($_FILES['file']['type'] == 'image/png'
|| $_FILES['file']['type'] == 'image/jpg'
|| $_FILES['file']['type'] == 'image/gif'
|| $_FILES['file']['type'] == 'image/jpeg'
|| $_FILES['file']['type'] == 'image/pjpeg')
{
// setting file's mysterious name
$file = $dir.md5(date('YmdHis')).'.jpg';
// copying
move_uploaded_file($_FILES['file']['tmp_name'], $file);
// displaying file
$array = array(
    'filelink' => '/user/images/'.$file
);
echo stripslashes(json_encode($array));
}
?>

一切似乎都正常,但我在chrome中遇到了一个错误:Uncaught SyntaxError:意外的输入结束。它不在我的代码中,而是在Jquery本身中。复制和粘贴在Mozilla中效果很好,而不是IE,有时在Chrome中也会出现错误。

这可能没有帮助-我现在正在尝试做同样的事情-但这里有一个密文捆绑包正在工作:https://github.com/kraksoft/RedactorBundle事实上,我正在使用它(我也分叉了这个项目,但没有给它带来任何新的东西),并且图像上传工作正常,我认为我离剪贴板上传工作不远了,请在捆绑包中保持更新!