我正在使用CKEditor 4.5.1和CKFinder 2.5 for ColdFusion 8以及增强型图像和上传图像插件。
我已成功将CKFinder与CKEditor集成,我可以使用普通的CKFinder接口将图像插入编辑器。他们上传到正确的文件夹并在编辑器中显示就好了。我可以将图像拖放到CKFinder界面,然后上传并在CKEditor中显示就好了。
但是,当我尝试将图像直接拖放到编辑器窗口时,我收到“不正确的服务器响应”消息。
使用Chrome的开发人员工具和Fiddler,我看到当我将图像拖放到CKFinder的界面时,它会调用连接器的QuickUpload方法并返回正确的JSON响应。当我将图像拖放到编辑器的界面时,它调用相同的QuickUpload方法,上传失败,只返回 0 ,根本没有JSON。文档说即使出现故障,它仍然应该发回JSON并显示错误消息。
我已正常实例化CKEditor。
<script src="/js/plugin/ckeditor/ckeditor.js"></script>
<script src="/js/plugin/ckfinder/ckfinder.js"></script>
<script type="text/javascript">
CKEDITOR.replace( 'message');
</script>
在编辑器的config.js文件中,我设置了所需的网址。
config.filebrowserBrowseUrl = '/js/plugin/ckfinder/ckfinder.html';
config.filebrowserImageBrowseUrl = '/js/plugin/ckfinder/ckfinder.html?type=Images';
config.filebrowserUploadUrl = '/js/plugin/ckfinder/core/connector/cfm/connector.cfm?command=QuickUpload&type=Files';
config.filebrowserImageUploadUrl = '/js/plugin/ckfinder/core/connector/cfm/connector.cfm?command=QuickUpload&type=Images';
我激活了上传图片插件(所有依赖项都是在构建时下载的。)
config.extraPlugins = 'image2,uploadimage';
根据文档,我不需要设置config.uploadUrl,因为我设置了config.filebrowserUploadUrl,但我也尝试设置uploadUrl,结果没有区别。
当我拖放到主CKEditor界面时,为什么CKFinder无法上传和发回错误的响应?
答案 0 :(得分:2)
2.5.0的CKFinder支持JSON响应。为了实现此目的,there must be responseType=json
仅在使用config.uploadUrl
配置时为请求设置的url参数:
config.uploadUrl =
'/js/plugin/ckfinder/core/connector/cfm/connector.cfm?command=QuickUpload&type=Files&responseType=json';
如果您正在使用filebrowserUploadUrl
,那么CKEditor会为您添加此标记。
但是,如果您同时设置confing.uploadUrl
和filebrowserUploadUrl
,那么只有config.uploadUrl
才能通过d&amp; d上传文件。
答案 1 :(得分:1)
我刚刚尝试了以下代码,它对我来说完全没问题:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CKEditor</title>
<script src="//cdn.ckeditor.com/4.5.1/standard-all/ckeditor.js"></script>
</head>
<body>
<textarea name="editor1"></textarea>
<script>
CKEDITOR.replace( 'editor1', {
filebrowserBrowseUrl: '/js/plugin/ckfinder/ckfinder.html',
filebrowserImageBrowseUrl: '/js/plugin/ckfinder/ckfinder.html?type=Images',
filebrowserUploadUrl: '/js/plugin/ckfinder/core/connector/cfm/connector.cfm?command=QuickUpload&type=Files',
filebrowserImageUploadUrl: '/js/plugin/ckfinder/core/connector/cfm/connector.cfm?command=QuickUpload&type=Images',
extraPlugins: 'image2,uploadimage'
} );
</script>
</body>
</html>
请确保您使用的是最新版本的CKFinder(2.5.0.1)。
如果您已指定uploadUrl
,则无需设置filebrowserUploadUrl
配置。