【问题标题】:Cannot upload file, CKEditor 5 uploading image using PHP (CodeIgniter 3)无法上传文件,CKEditor 5 使用 PHP (CodeIgniter 3) 上传图片
【发布时间】:2021-08-10 14:24:03
【问题描述】:

我正在尝试通过 CKEditor 5 上传图像,图像上传正常,但 CKEditor 显示此错误:“无法上传文件”并从编辑器中删除图像 cannot upload file

这是我的控制器:

public function uploadCkeditor()
{

    $config['upload_path'] = './assets/admin/img/uploads';

    $config['allowed_types'] = 'gif|jpg|png|jpg';
    $config['max_size'] = 2000;
    $new_name = 'blog-'.date("Y-m-d").'-'.time();
    $config['file_name'] = $new_name;
    $this->load->library('upload', $config);
    if(!$this->upload->do_upload('upload')){
        echo json_encode(array('error'=> $this->upload->display_errors()));
    } else {
        $uploadData = $this->upload->data();
        echo json_encode(array('file_name'=> $uploadData['file_name']));
    }
    
}

这是 CKEditor 脚本:

    <script src="<?= base_url();?>assets/admin/js/ckeditor.js"></script>

<script>
var myEditor;

ClassicEditor.create(document.getElementById('detail'),
{
ckfinder: {
    uploadUrl: 'uploadCkeditor'
}}).then( editor => {
console.log( 'Editor was initialized', editor );
myEditor = editor;} ).catch( err => {
console.log( err );} );</script>

【问题讨论】:

    标签: php ckeditor codeigniter-3 ckeditor5


    【解决方案1】:

    我遇到了同样的问题,并通过在上传处理函数结束时返回以下 json 响应来修复它:

    return new JsonResponse([
            'uploaded' => true,
            'fileName' => $image,
            'url' => $url
        ], 200);
    

    如果需要,您似乎还可以包含 errornumbermessage 键。

    请注意,我在 Symfony 项目而不是 Codeigniter 项目中遇到了这个问题,但它应该以相同的方式工作。我的答案基于this 答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-27
      • 2019-05-15
      • 2011-07-21
      • 2013-07-23
      • 2012-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多