изображения не отображаются в ckeditor

#php #ckeditor #ckeditor5 #laravel-8

#php #ckeditor #ckeditor5 #laravel-8

Вопрос:

Я реализую загрузку изображений с помощью CKEditor в laravel, но изображения загружаются, но они не отображаются. Мне нужна помощь, пожалуйста.

это мой код

  public function upload(Request $request){
      
        if($request->hasFile('upload')){
            $originalName=$request->file('upload')->getClientOriginalName();
            $fileName=pathinfo($originalName,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('public/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;
        }
    }
  

и вывод такой

введите описание изображения здесь

Ответ №1:

поместите этот скрипт в свой html-файл

 <script src="https://cdn.ckeditor.com/4.14.1/standard/ckeditor.js"></script>
<script>
   CKEDITOR.replace( 'summary-ckeditor', {
filebrowserUploadUrl: "{{route('ckeditor.upload', ['_token' => csrf_token() ])}}",
filebrowserUploadMethod: 'form'
  

});

и поместите этот код в свой контроллер изображений

      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;
 }