2017-12-20 4 views
0

, wenn ich von ckeditor zum Hochladen von Bild und anfügen, dass auf meine Upload-Bild-Funktion in den Controller funktioniert gut ohne ein Problem, aber wenn ich hochgeladene Bild zurück, dass ckeditor kann nicht bekommen dass zum Beispiel ist mein Code:Laravel erhalten Bild auf CKEDITOR hochgeladen

Controller:

public function uploadImageContent() 
{ 
    $this->validate(request(), [ 
     'upload' => 'mimes:jpeg,jpg,gif,png' 
    ]); 

    $file = request()->file('upload'); 
    $filename = $file->getClientOriginalName(); 

    $year = Carbon::now()->year; 
    $imagePath = "/uploads/post_images/{$year}/"; 

    if (file_exists(public_path($imagePath) . $filename)) { 
     $filename = Carbon::now()->timestamp . '.' . $filename; 
    } 

    $file->move(public_path() . $imagePath, $filename); 

    $url = $imagePath . $filename; 

    return "<script>window.parent.CKEDITOR.tools.callFunction(1,'{$url}','')</script>"; 
} 

diese Funktion gut funktionieren und ich nicht einen Fehler erhalten auf console oder network

return "<script>window.parent.CKEDITOR.tools.callFunction(1,'{$url}','')</script>"; 

sollte Rückweg sein, aber nicht funktionieren.

Ansicht:

<script> 
    $(function() { 
     CKEDITOR.replace('description', { 
      height: '200px', 
      extraPlugins: 'forms', 
      filebrowserUploadUrl:'/dashboard/administrator/attachImage', 
      filebrowserImageUploadUrl:'/dashboard/administrator/attachImage' 
     }); 

    }); 
</script> 

Route:

Route::group(['namespace' => 'Dashboard', 'prefix' => 'dashboard'], function() { 
    $this->group(['prefix' => 'administrator'], function() { 
     ... 
     $this->post('/attachImage', '[email protected]'); 
     ... 
}); 

ContentsController:

class ContentsController extends Controller 
{ 
    ... 

    public function attachImage() 
    { 
     $this->uploadImageContent(request()->all()); 
    } 
} 
+0

Das ist nur Zeichenfolge mit 'Skript' HTML-Tag. JavaScript ist sich nicht bewusst, dass es an DOM angehängt werden sollte, es sei denn, Sie haben es ihm gesagt. – Chay22

+0

@ Chay22 wie mit dieser Implementierung funktioniert gut in meinem anderen Projekt –

+0

sollten Sie einen Blick auf ['GetFileCallback'] (https://github.com/Studio-42/elFinder/wiki/Integration-with-CKEditor#update -die-elfinder-Seite-wird-gerufen-durch-ckeditor) – Chay22

Antwort

0

mit echo statt return mein Problem beheben:

echo "<script>window.parent.CKEDITOR.tools.callFunction(1,'{$url}','')</script>"; 

ich habe dieses Problem auf laravel 5.5