如何解决无法上传文件,CKEditor 5 使用 PHP (CodeIgniter 3) 上传图片
我正在尝试通过 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>
解决方法
我遇到了同样的问题,并通过在上传处理函数结束时返回以下 json 响应来修复它:
return new JsonResponse([
'uploaded' => true,'fileName' => $image,'url' => $url
],200);
如果需要,您似乎还可以包含 error
,带有 number
和 message
键。
请注意,我在 Symfony 项目而不是 Codeigniter 项目中遇到了这个问题,但它应该以相同的方式工作。我的回答基于 this 的回答。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。