CKEditor 中未触发 UploadFile 回调
UploadFile callback is not being triggered in CKEditor
我正在使用启用了 Office2013 样式的最新 Full CKEditor (4.5.3)。
我在此处添加了 filebrowserImageUploadUrl 选项:
CKEDITOR.replace( 'news_content' ,
{
"filebrowserImageUploadUrl": "/path/to/script.php"
});
上传图像时,backed 返回正确的 HTML 和 headers 给 CKEditor,但它的作用 - 只是显示 JavaScript 代码,实际上并没有触发它.如果我 copy-paste 那个 JS 到浏览器 (Chrome) 控制台 - 它工作(将选项卡切换到第一个并输入图像)。
请查看随附的屏幕截图。我错过了什么?
P.S> 第一个参数是在上传文件时从请求中获取的,所以在这种情况下它是 = 1(这不是问题:))
正如@Wiktor 所猜测的那样,问题出在设置正确 headers 上。我就快到了,设置错误 headers.
右headers显然是:"text/html"(不是"plain/text",在这种情况下它只是将其识别为文本)
$uploadResponse = new Response();
$uploadResponse->headers->set('Content-type', 'text/html');
$content = "<script type=\"text/javascript\">\n";
$content .= "window.parent.CKEDITOR.tools.callFunction(" . $funcNum . ", '/uploads/news_image/" . $response['uploadedName'] . "', '');\n";
$content .= "</script>";
$uploadResponse->setContent($content);
我正在使用启用了 Office2013 样式的最新 Full CKEditor (4.5.3)。
我在此处添加了 filebrowserImageUploadUrl 选项:
CKEDITOR.replace( 'news_content' ,
{
"filebrowserImageUploadUrl": "/path/to/script.php"
});
上传图像时,backed 返回正确的 HTML 和 headers 给 CKEditor,但它的作用 - 只是显示 JavaScript 代码,实际上并没有触发它.如果我 copy-paste 那个 JS 到浏览器 (Chrome) 控制台 - 它工作(将选项卡切换到第一个并输入图像)。
请查看随附的屏幕截图。我错过了什么?
P.S> 第一个参数是在上传文件时从请求中获取的,所以在这种情况下它是 = 1(这不是问题:))
正如@Wiktor 所猜测的那样,问题出在设置正确 headers 上。我就快到了,设置错误 headers.
右headers显然是:"text/html"(不是"plain/text",在这种情况下它只是将其识别为文本)
$uploadResponse = new Response();
$uploadResponse->headers->set('Content-type', 'text/html');
$content = "<script type=\"text/javascript\">\n";
$content .= "window.parent.CKEDITOR.tools.callFunction(" . $funcNum . ", '/uploads/news_image/" . $response['uploadedName'] . "', '');\n";
$content .= "</script>";
$uploadResponse->setContent($content);