Laravel 5
Загрузка изображений через CKEditor
Простое решение.
route:
1 2 |
Route::match(['get','post'],'uploader/','FileuploaderController@upload') ->route('uploader'); |
html:
1 |
<textarea id="lit"></textarea> |
js:
1 2 |
<script src="{{ asset('assets/libs/plugins/ckeditor/ckeditor.js') }}"></script> <script> |
1 2 3 4 5 6 7 8 9 10 11 12 |
$(function () { CKEDITOR.replace('lit', { filebrowserUploadUrl: "{{ route('uploader') }}", ... toolbar : [ ... {name: 'img', items: ['Image']}, ... ] ... }); </script> |
controller:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public function upload(Request $request) { $callback = $_GET['CKEditorFuncNum']; $error = ''; $file = $r->file('upload'); //файл //создаем уникальное название $fname = date('dHis') . str_random(4) . $file->getClientOriginalName(); $file->move(public_path() . '/img/articles/', $fname); //формируем ссылку для ответа $http_path = asset('assets/img/'.$fname); //собственно сам ответ CKEditor-у echo "<script type=\"text/javascript\">window.parent.CKEDITOR.tools.callFunction(".$callback.", \"".$http_path."\", \"".$error."\" );</script>"; } |