端くれプログラマの備忘録 Laravel [Laravel] laravel-image-optimizer – 画像サイズ最適化

[Laravel] laravel-image-optimizer – 画像サイズ最適化

インストールされている以下のオプティマイザを使って画像の最適化を行ってくれる。

インストール

$ composer create-project laravel/laravel image-optimizer --prefer-dist
$ cd image-optimizer
$ composer require spatie/laravel-image-optimizer
$ php artisan make:controller PhotosController

サンプル

routes/web.php

Route::post('/photos', 'PhotosController@store')
->middleware('optimizeImages');

controller

namespace App\Http\Controllers;

class PhotosController extends Controller {
    public function store() {
        $this->validate(request(), [
            'photo' => 'required|image:jpeg '
        ]);
        request()->photo->storeAs('images', 'optimized.jpg');
        return response('OK', 201);
    }
}

view

<form action="/photos" enctype="multipart/form-data" method="POST">
    {{ csrf_field() }}
    <div class="form-group">
        <label for="">Photo</label>
        <input class="form-control" name="photo" type="file" />
        <button type="submit">Upload</button>
    </div>
</form>

保存パス
storage/app/images/optimized.jpg

参考サイト

[Laravel] Image Optimization With Spatie Laravel Image Optimizer – Laravel News
https://laravel-news.com/spatie-laravel-image-optimizer