What I have:
- Symfony2
- CKEditor with Image and Enhanced Image (also image2) addons
I found information about uploading files to server on official site:
Example — Setting Up Image upload plugin:
config.extraPlugins = 'uploadimage';
config.imageUploadUrl = '/uploader/upload.php?type=Images';
Response: File Uploaded Successfully When file is uploaded successfully then JSON response with the following entries is expected:
- uploaded – Set to 1.
- fileName – Name of uploaded file.
- url – URL to a uploaded file (URL-encoded).
Example:
{
"uploaded": 1,
"fileName": "foo.jpg",
"url": "/files/foo.jpg"
}
Symfony returns JSON responce:
return new JsonResponse(
array(
'uploaded' => '1',
'fileName' => $image->getName(),
'url' => $image->getWebPath()
)
);
After successfully uploaded an image I see:
And error in JS console:
Resource interpreted as Document but transferred with MIME type application/json: "http://example.com/app_dev.php/dashboard/settings/upload/image?CKEditor=example_post_content&CKEditorFuncNum=1&langCode=en".
But it must be working like on the official page (see second editor)
I tried to return other response from Symfony, like:
$response = new Response();
$response->headers->set('Content-Type', 'application/json');
$response->setContent(
json_encode(
array(
'uploaded' => '1',
'fileName' => $image->getName(),
'url' => $image->getWebPath()
)
));
return $response;
but not works. Any idea?
UPDATE
I resolved the problem by using answer. Final FCKeditor code look like:
$response = new Response();
$response->headers->set('Content-Type', 'text/html');
$content = "<script type=\"text/javascript\">\n";
$content .= "window.parent.CKEDITOR.tools.callFunction(1, '".$image->getWebPath()."', '' );\n";
$content .= "</script>";
$response->setContent($content);
return $response;
Does anyone know another solution or why solution with JSON response doesn't work?

$return new JsonResponse- chiliNUT