图像未在ckeditor中显示

问题描述

我正在laravel中使用CKEditor实现图像上传,但是图像已上传但未显示。我需要帮助。

这些是我的代码

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

输出是这个

enter image description here

解决方法

将这些脚本放入您的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;
 }