laravel-admin 配置富文本编辑器流程

laravel-admin默认去除富文本编辑器的,官方也给出了配置方法

我配置的是wangEditor,本来配置完后就能愉快得使用了,可万万没想到还是有坑的。默认是用base64上传的,也就是数据库中保存的是base64!!!果然报错了,显示

Data too long for column 'content'

开始觉得base64也未尝不可,文章插图不会太多,百度了下要求修改mysql的max_allowed_packet。尝试后还是发现没作用。

还是回归富文本编辑器吧,在官网上看到图片上传到服务器和OSS的方法。然后就顺藤摸瓜解决问题,异步方式上传图片,再保存路径到数据库中。

代码如下

复制代码

//wangEditor.php
public function render()
    {
        $name = $this->formatName($this->column);
        $this->script = <<<EOT
var E = window.wangEditor
var editor = new E('#{$this->id}');
editor.customConfig.zIndex = 0
editor.customConfig.uploadImgServer = '/admin/api/upload'
editor.customConfig.uploadFileName = 'img'
editor.customConfig.onchange = function (html) {
    $('input[name=\'$name\']').val(html);
}
editor.create()

EOT;
        return parent::render();
    }

复制代码

//修改filesystems.php文件,为了方便root为public目录
 'local' => [
            'driver' => 'local',
            'root' => public_path('app'),
        ],
//VerifyCsrfToken.php中间件 添加
protected $except = [
        '/admin/api/*'
    ];

复制代码

//api.php 接口方法
public function upload(Request $request){
        $path = Storage::disk('local')->putFile('images', $request->file('img'));
        $p = '/app/'.$path;
        return response()->json(['errno'=>0,'data'=>[$p]]);
    }

复制代码

最后记得把接口加到路由中,完成。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值