[[oktatas:web:back-end_framework:laravel:laravel_rest_api|< Laravel API]] ====== Laravel REST API - Képek kezelése ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2023 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== Az Intervention Image ===== Az Intervention Image önállóan is használható képfeldolgozó eszköz, de a Laravelbe is beépíthető. Webhely: * https://intervention.io/ (2023) ===== Telepítés ===== composer require intervention/image Be kell jegyezni a config/app.php fájlba. Keressük meg az "Application Service Providers..." részt, majd vegyük fel a tömbbe: Intervention\Image\ImageServiceProvider::class Lentebb találunk egy Class Aliases részt. Itt vegyük fel a tömbbe: 'Image' => 'Intervention\Image\Facades\Image::class' ===== Használatba vétel ===== use Intervention\Image\ImageManagerStatic as Image; ===== Feltöltés átméretezéssel ===== public function store(Request $request) { $filename = NULL; $image = NULL; if($request->hasFile('image')) { $image = $request->file('image'); $filename = time() . '.' . $image->getClientOriginalExtension(); Image::make($image) ->resize(100, 100) ->save(storage_path('/app/public/' . $filename)); } $employee = new Employee; $employee->name = $request->name; $employee->city = $request->city; $employee->salary = $request->salary; $employee->image = $filename; $employee->save(); return response()->json([ 'name' => $employee->name, 'image' => $filename ]); } A feltöltött fájl a **storage/app/public** könyvtárba töltődik. A fájl neve mentésre kerül az adatbázisba.