在 CKEditor 4 中上传图片:上传脚本需要哪些 JSON 参数?

问题描述 投票:0回答:0

我正在使用带有以下插件的 CKEditor 4.16.2:

filebrowser
uploadimage
uploadwidget

我没有使用 CKFinder.

我的配置包括:

CKEDITOR.config.filebrowserUploadUrl = '/path/to/upload.php?type=image';
CKEDITOR.config.filebrowserUploadMethod = 'form';

我的 upload.php 脚本是:

$type = $_GET['type'];
if($type == 'image'){

    $allowed_extension = array("png","jpg","jpeg");
    $file_extension = pathinfo($_FILES["upload"]["name"], PATHINFO_EXTENSION);
    if(in_array(strtolower($file_extension),$allowed_extension)){       
       if(move_uploaded_file($_FILES['upload']['tmp_name'], "uploads/".$_FILES['upload']['name'])){
        $url = "/$pathToUploadedImageDir/".$_FILES['upload']['name'];
      
        // This works for drag and drop, and paste, but not for image upload
        // What to echo here?
        echo json_encode( array('uploaded'=> 1, 
           'filename' => $_FILES['upload']['name'], 
           'url' => $url ) ) ;

       } else {        
            echo "Image not uploaded";
       }
    }
    exit;
}

以上适用于拖放和粘贴屏幕截图。

但是,当我在图像窗口的上传选项卡中上传图像时,它成功地将图像上传到正确的目录,但接下来我看到的是出现的 JSON 对象的文本(从我的 upload.php 脚本返回)代替“上传”按钮。然后什么都没有发生。

我期望发生的是打开“图像信息”选项卡并查看图像预览和图像 URL 以及填充的宽度和高度(如 CKEditor 示例页面(使用 CKFinder)中发生的那样,但不是我的).

控制台中没有出现任何错误。

那么我需要在 upload.php 中回显什么?或者是否还有其他未正确配置的内容? TIA.

file-upload ckeditor4.x
© www.soinside.com 2019 - 2024. All rights reserved.