我有一个laravel 5
项目。
我使用Ckeditor
和Elfinder
在我的帖子中上传图片。
通常,我使用TinyPng
php api来优化我的其他图像。但是我无法将TinyPng
API 集成到ckeditor&elfinder
.
有没有办法做到这一点?
我建议您通过 Spatie 安装 laravel-image-optimizer,基本上它设置了一个中间件,该中间件可以检测请求何时包含图像,并自动传递您安装在系统中的正确图像优化器。
要安装它,请运行:
composer require spatie/laravel-image-optimizer
并添加到您的配置文件中app.php
:
// config/app.php
'providers' => [
...
SpatieLaravelImageOptimizerImageOptimizerServiceProvider::class,
];
和:
// config/app.php
'aliases' => [
...
'ImageOptimizer' => SpatieLaravelImageOptimizerImageOptimizerFacade::class,
];
要使用它,请将上传终端节点与中间件包装在一起:
Route::middleware('optimizeImages')->group(function () {
// all images will be optimized automatically
Route::post('upload-images', 'UploadController@index);
});
如文档中所述,默认情况下支持的优化器为:
如果这些优化器存在于您的 系统:
- JpegOptim
- Optipng
- Pngquant 2
- SVGO
- 吉夫西克
尔
如果你想,无论如何,使用你的优化器,这个包已经涵盖了你,只需按照文档的这一部分。
希望这对你有帮助。