laravel 扩展包事件使用

以https://github.com/codingyu/laravel-ueditor为例
--------------------------下面原文档说明---------------------------------

上传完成事件
Codingyu\LaravelUEditor\Events\Uploaded

它有两个属性:

$event->file 与 Uploading 一样,上传的文件

$event->result 上传结构,数组,包含以下信息:

'state' => 'SUCCESS',
'url' => 'http://xxxxxx.qiniucdn.com/xxx/xxx.jpg',
'title' => '文件名.jpg',
'original' => '上传时的源文件名.jpg',
'type' => 'jpg',
'size' => 17283,
你可以监听此事件用于一些后续处理任务,比如记录到数据库。

--------------------------下面具体调用处理---------------------------------

打开App\Providers\EventServiceProvider.php,添加该事件处理

    protected $listen = [
        Registered::class => [
            SendEmailVerificationNotification::class,
        ],
        'Codingyu\LaravelUEditor\Events\Uploaded'=>[
            'App\Listeners\UploadedListener',
        ]
    ];

在App\Listeners\UploadedListener.php添加具体处理,下面为图片添加水印处理

result;
        // Access the order using $event->order...
        $imgPath = storage_path() .'/app/public/'. $result['title'];
        //$spaceFilter=str_replace(" ", "\\ ",$imgPath);
        //list($imgWidth, $imgHeight, $type, $attr) = getimagesize($imgPath);
        $img = Image::make($imgPath);


        $img->insert(storage_path() . '/app/watermark.png', 'bottom-right', 0, 0);

        $img->save();
    }
}

这样完成事件调用使用

你可能感兴趣的:(laravel 扩展包事件使用)