首页 文章

IvoryCKEditorBundle uploadimage无法解析JSON Response

提问于
浏览
1

我有Symfony 2 projekt与IvoryCKEditor集成到Sonata . 还安装了几个CKEditor插件 . 我已经配置了基本图像上传,但我还需要管理拖放图像上传 .

Uploadimage documentation表示要配置 uploadUrl 属性 .

config.extraPlugins = 'uploadimage';
config.uploadUrl = '/uploader/upload.php';

我的 app/config/config.yml 看起来像这样:

ivory_ck_editor:
    default_config: default
    configs:
        default:
            extraPlugins: "uploadimage,image2,uploadwidget,widget,widgetselection,lineutils,notificationaggregator,notification,filetools"
            uploadUrl: "/admin/sonata/media/media/upload?provider=sonata.media.provider.image&responseType=json"
            filebrowserBrowseRoute: admin_sonata_media_media_browser
            filebrowserImageBrowseRoute: admin_sonata_media_media_browser
            filebrowserImageBrowseRouteParameters:
                provider: sonata.media.provider.image
            filebrowserUploadRoute: admin_sonata_media_media_upload
            filebrowserUploadRouteParameters:
                provider: sonata.media.provider.file
            filebrowserImageUploadRoute: admin_sonata_media_media_upload
            filebrowserImageUploadRouteParameters:
                provider: sonata.media.provider.image
    plugins:
        image2:
            path:     "/ckeditor/plugins/image2/"
            filename: "plugin.js"
        uploadimage:
            path:     "/ckeditor/plugins/uploadimage/"
            filename: "plugin.js"
        uploadwidget:
            path:     "/ckeditor/plugins/uploadwidget/"
            filename: "plugin.js"
        widget:
            path:     "/ckeditor/plugins/widget/"
            filename: "plugin.js"
        widgetselection:
            path:     "/ckeditor/plugins/widgetselection/"
            filename: "plugin.js"
        lineutils:
            path:     "/ckeditor/plugins/lineutils/"
            filename: "plugin.js"
        notificationaggregator:
            path:     "/ckeditor/plugins/notificationaggregator/"
            filename: "plugin.js"
        notification:
            path:     "/ckeditor/plugins/notification/"
            filename: "plugin.js"
        filetools:
            path:     "/ckeditor/plugins/filetools/"
            filename: "plugin.js"

uploadUrl 发生错误 /admin/sonata/media/media/uploadprovider=sonata.media.provider.image&responseType=json
enter image description here

Location: plugins/filetools/plugin.js
Description: An error occurred when parsing the upload response. Text could not be parsed to JSON.
Additional data:
responseText: Upload response text.

显然JSON Response出了问题, but file uploads to directory .

我的问题是 uploadUrl 应该是什么样的?

1 回答

  • 1

    uploadUrl 必须包含处理文件上载的脚本的URL .

    所以,如果您使用 uploadUrlconfig.uploadUrl = '/uploader/upload.php' ,则必须在服务器端创建JSON响应(upload.php文件)以允许ckeditor解析响应

    请参阅http://docs.ckeditor.com/#!/guide/dev_file_upload上的示例 .

    {
        "uploaded": 1,
        "fileName": "foo.jpg",
        "url": "/files/foo.jpg"
    }
    

    您必须获取文件名和要在服务器上保存文件的特定URL,并创建所涉及的响应 .

    请参阅(java服务器端的示例):

    out.println("{");
    out.println(" \"uploaded\": 1,");
    out.println("\"Filename\":" + "\"" + fileName+"\",");
    out.println(" \"url\":" + "\"" + url +"\"" );
    out.println("}");
    

相关问题