[[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.