一、版本说明
laravel 5.5
ckEditor 3.6.3
laravel-admin 1.5.*
二、扩展ckeditor编辑器。
网上找到ckEditor 3.6.3下载备用。
添加编辑器扩展参考laravel-admin官网方档,http://laravel-admin.org/docs/#/zh/model-form-field-management,这里不再过多介绍。
三、配置
根据laravel-admin 配置完成以后,是不支持图片上传功能的,需要进行配置。
1、config.js
在路径:public\packages\ckeditor\config.js中添加:config.filebrowserImageUploadUrl = "/admin/upload";
2、配置路由:
Route::post('/admin/upload','UploadeController@index');
3、去除csrf验证
4、控制器
UploadeController.php
namespace App\Admin\Controllers; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class UploadController extends Controller { function index(Request $request) { $ck = $request->get('CKEditorFuncNum'); if ($request->hasFile('upload')) { //upload为ckeditor默认的file提交ID $file = $request->file('upload'); //从请求数据内容中取出图片的内容 $allowed_extensions = ["png", "jpg", "gif"]; //允许的图片后缀 if ($file->getClientOriginalExtension() && !in_array($file->getClientOriginalExtension(), $allowed_extensions)) { return '图片后缀只支持png,jpg,gif,请检查!'; } $destinationPath = getenv('UPLOAD_FILE_PATH'); //图片存放路径 $extension = $file->getClientOriginalExtension(); //获得文件后缀 $fileName = md5(time()) . '.' . $extension; //创建图片名字 $result = $file->move($destinationPath, $fileName); //存储图片到路径 $url = getenv('FILE_URL') . '/' . $fileName; //输出图片网站中浏览路径 //echo $url; echo "<script>window.parent.CKEDITOR.tools.callFunction($ck, '$url', '');</script>"; } } }
5、效果