Ckeditor映像上传-服务器响应不正确

时间:2018-07-31 05:02:00

标签: php image upload ckeditor

我在上传图片时遇到问题。使用拖放上载图像插件时,CKEditor会不断抛出“服务器响应错误”错误。

我已将以下几行添加到我的ckeditor config.js文件中:

config.extraPlugins = 'uploadimage';
config.imageUploadUrl = './scripts/ckImageUpload.php';
config.extraPlugins = 'image2';

我的ckImageUpload.php脚本是:

con = dbConnect();
$id = $_GET['edit'];
$time = new DateTime;

$fileName = $time->format(DateTime::ATOM).pathinfo($_FILES['upload']['name'], PATHINFO_EXTENSION);

$url = './images/uploaded/'.$fileName;

if(move_uploaded_file($_FILES['upload']['tmp_name'], $url)) {

    $data = ['uploaded' => 1, 'fileName' => $filename, 'url' => $url];


    $query = 'INSERT INTO postImages (
            parentID,url
        ) VALUES (
            "'.$id.'",
            "'.$url.'"
        )';

    if(!mysqli_query($con, $query)){
        $error = 'Insert query failed';
        $data = array('uploaded' => 0, 'error' => array('message' => $error));
    }

} else {

    $error = 'There was an error uploading the file';
    $data = array('uploaded' => 0, 'error' => array('message' => $error));

}

echo json_encode($data);

如果我伪造它,并删除除以下几行以外的所有内容,然后将一个名为image.jpg的图像放置在正确的位置,错误就会消失,并且该图像会在编辑器中按应有的方式出现:

$data = ['uploaded' => 1, 'fileName' => 'image.jpg', 'url' => './images/uploaded/image.jpg'];
echo json_encode($data);

1 个答案:

答案 0 :(得分:0)

我知道这很老了,但是我遇到了同样的问题,将来可能还会有人问,因为这是一个非常奇怪的问题。花了我几个小时,但是有解决方案。而不是信任标准。 json_encode,发送实际的JSON响应即可。

改变那么简单

echo json_encode($data);

进入:

return new Symfony\Component\HttpFoundation\JsonResponse($data);

将使它正常工作。

HTH