如何修复 CKeditor 在 laravel 项目中没有上传图片功能

How to fix CKeditor not having upload image feature in laravel project

我的ckeditor没有上传图片的功能。我希望该功能可用。在 laravel 中如何解决这个问题?

您可以使用 CKFinder 轻松上传和管理多个文件。使用内置的图像编辑器裁剪、调整大小、旋转、调整亮度、对比度、饱和度、曝光和锐度以及一些预定义的滤镜预设。

<script>
    CKEDITOR.replace( 'editor1', {
        filebrowserBrowseUrl: '/ckfinder/ckfinder.html',
        filebrowserUploadUrl: '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files'
    } );

    $('.textarea').wysihtml5();

</script>

文档Here

对于laravel:

CKEDITOR.replace('editor1', {
    filebrowserUploadUrl: "{{ route('ckeditor.upload', ['_token' => csrf_token() ])}}",
    filebrowserUploadMethod: 'form'
});

在你的路线中:

Route::post('images/upload', 'ImageController@upload')->name('ckeditor.upload');

还有你的 ImageController :

public function upload(Request $request)
 {
     if($request->hasFile('upload')) {
         $originName = $request->file('upload')->getClientOriginalName();
         $fileName = pathinfo($originName, PATHINFO_FILENAME);
         $extension = $request->file('upload')->getClientOriginalExtension();
         $fileName = $fileName.'_'.time().'.'.$extension;
        
         $request->file('upload')->move(public_path('images'), $fileName);
   
         $CKEditorFuncNum = $request->input('CKEditorFuncNum');
         $url = asset('images/'.$fileName); 
         $msg = 'Image uploaded successfully'; 
         $response = "<script>window.parent.CKEDITOR.tools.callFunction($CKEditorFuncNum, '$url', '$msg')</script>";
               
         @header('Content-type: text/html; charset=utf-8'); 
         echo $response;
     }
}

干杯!!!