首页 文章

通过拖放插入图像时,CKFinder会收到错误的响应

提问于
浏览
4

我正在使用CKEditor 4.5.1与CKFinder 2.5 for ColdFusion 8和增强型图像和上传图像插件 .

我已成功将CKFinder与CKEditor集成,我可以使用普通的CKFinder接口将图像插入编辑器 . 他们上传到正确的文件夹并在编辑器中显示就好了 . 我可以将图像拖放到CKFinder界面,然后上传并在CKEditor中显示就好了 .

但是,当我尝试将图像直接拖放到编辑器窗口时,我收到“ incorrect server response ”消息 .

使用Chrome 's developer tools and Fiddler, I see that when I drag and drop the images into CKFinder'的界面,它's calling the QuickUpload method of the connector and returning back a proper JSON response. When I drag and drop the images into the editor'的界面,它调用相同的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文件中,我设置了所需的URL .

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,结果没有区别 .

Why is CKFinder failing to upload and sending back the wrong response when I drag and drop into the main CKEditor interface?

2 回答

  • 1

    2.5.0的CKFinder支持JSON响应 . 为了使其正常工作,there must be仅在使用 config.uploadUrl config时为请求设置 responseType=json url参数:

    config.uploadUrl =
        '/js/plugin/ckfinder/core/connector/cfm/connector.cfm?command=QuickUpload&type=Files&responseType=json';
    

    如果您正在使用 filebrowserUploadUrl ,那么CKEditor将为您添加此标志 .

    但是如果您同时设置了 confing.uploadUrlfilebrowserUploadUrl ,那么只有 config.uploadUrl 被考虑用于通过d&d上传文件 .

  • 2

    我只是尝试了以下代码,它对我来说完全没问题:

    <!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) .

    如果已指定 filebrowserUploadUrl ,则不必设置 uploadUrl 配置 .

相关问题