我在上传图片时遇到问题。使用拖放上载图像插件时,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);
答案 0 :(得分:0)
我知道这很老了,但是我遇到了同样的问题,将来可能还会有人问,因为这是一个非常奇怪的问题。花了我几个小时,但是有解决方案。而不是信任标准。 json_encode,发送实际的JSON响应即可。
改变那么简单
echo json_encode($data);
进入:
return new Symfony\Component\HttpFoundation\JsonResponse($data);
将使它正常工作。
HTH