2014-02-20 99 views
2

我在我的cakePHP应用程序中使用ckeditor 4.2。 我已经将它安装在我的app/webroot/js/ckeditor目录中。CKEditor图片上传不起作用

我想在我的ckeditor中有一个图像上传选项,所以我下载了ckeditor图像插件(http://ckeditor.com/addon/image)。 我使用下面的文档安装它(http://www.paulfp.net/blog/2010/10/how-to-add-and-upload-an-image-using-ckeditor/

现在,图像上传界面看起来不错,但是当我点击“发送到服务器”按钮时,它不会调用PHP脚本。我已经在我的config.js中设置了“filebrowserUploadUrl”的路径,但它仍然不起作用。我已经完成了与上述文档相同的设置,但我无法调用该脚本。

注意:当我点击“发送给服务器”按钮,出于某种未知原因,我看到controller_name/undefined操作正在被调用。

+0

请,提供源代码,这将帮助我们来帮助你。似乎config.js需要,routes.php如果您使用自定义路由和...应该上传文件的行动的内容。另外,你确定文件权限? – Vadim

回答

0

或者,您可以使用KCFinder。它是免费的开源Web文件管理器。它可以集成到FCKeditor,CKEditor和TinyMCE所见即所得网络编辑器(或您的自定义网络应用程序)中,以上载和管理可嵌入到编辑器生成的HTML内容中的图像,Flash动画和其他文件。

http://kcfinder.sunhater.com

0

CKEditor的是几乎所有的Web开发人员最喜爱的基于网络的文字处理器。但问题是,它没有内置图像上传功能,即CKEditor不知道如何处理图像上传。所以我们会分配一个知道如何处理图片上传和文件管理的助手。

我们的助手是KCFinder,一个免费的开源Web文件管理器。它可以集成到FCKeditor,CKEditor和TinyMCE所见即所得网络编辑器(或您的自定义网络应用程序)中,以上载和管理可嵌入到编辑器生成的HTML内容中的图像,Flash动画和其他文件。

我假设您已经将CKEditor设置到您的网页中。如果您还没有完成,您可以按照我以前的文章中的说明进行操作:CKEditor: Web-based Word Processor For Your Web Pages

让我们进入我们的业务。

1)下载KCFinder>http://kcfinder.sunhater.com/download

2)提取.zip文件的kcfinder目录项目的公共目录。

3)打开/public/ckeditor/config.js并添加代码行如下;

CKEDITOR.editorConfig = function(config) { 
// Define changes to default configuration here. For example: 
// config.language = 'fr'; 
// config.uiColor = '#AADC6E'; 

/* Show these image/flash browsing feature only to Admins */ 
config.filebrowserBrowseUrl = '/kcfinder/browse.php?opener=ckeditor&type=files'; 
config.filebrowserImageBrowseUrl = '/kcfinder/browse.php?opener=ckeditor&type=images'; 
config.filebrowserFlashBrowseUrl = '/kcfinder/browse.php?opener=ckeditor&type=flash'; 

/* Image/Flash upload feature using kcfinder tool */ 
config.filebrowserUploadUrl = '/kcfinder/upload.php?opener=ckeditor&type=files'; 
config.filebrowserImageUploadUrl = '/kcfinder/upload.php?opener=ckeditor&type=images'; 
config.filebrowserFlashUploadUrl = '/kcfinder/upload.php?opener=ckeditor&type=flash'; 

};

如果您不想让用户浏览服务器中先前上传的文件,您可以删除/阻止注释前三行,并只保留实际上传部分的最后三行,否则您可以按照您的要求为每个功能添加用户级别控制。永远不要让用户看到服务器中的文件。如果他们更改文件,其他文件链接可能会被破坏,并且会导致应用程序中的大量混乱。

4)激活KCFinder。

默认情况下,KCFinder禁用。要更改它,请转到kcfinder/conf/config。PHP和一般设置下,将'disabled'的值更改为false。现在,用户可以使用CKEditor界面上传和管理Web应用程序中的文件(在我们的例子中为图像文件)。

您可以查看详细的步骤在我的博客文章:https://ashenlive.blogspot.com/2016/09/ckeditor-image-upload-with-kcfinder.html