Ckeditor 图像上传 - 不正确的服务器响应
Posted
技术标签:
【中文标题】Ckeditor 图像上传 - 不正确的服务器响应【英文标题】:Ckeditor Image Upload - Incorrect Server Repsonse 【发布时间】:2019-01-07 09:34:57 【问题描述】:我在上传图片时遇到问题。 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】:我知道这已经过时了,但我遇到了同样的问题,将来可能会有其他人遇到,因为这是一个非常奇怪的问题。花了我几个小时,但有一个解决方案。而不是信任标准。 json_encode,发送一个实际的 JSON 响应是可行的。
简单的改变
echo json_encode($data);
进入:
return new Symfony\Component\HttpFoundation\JsonResponse($data);
会让这个工作。
HTH
【讨论】:
以上是关于Ckeditor 图像上传 - 不正确的服务器响应的主要内容,如果未能解决你的问题,请参考以下文章