From ecac206a6c4a83fce73342e3e8436040adf2297e Mon Sep 17 00:00:00 2001 From: Housemann <40449280+Housemann@users.noreply.github.com> Date: Sat, 13 Jun 2026 17:57:33 +0200 Subject: [PATCH] Fix background queue and add image compression on import - Switch queue from sync to database so Ollama job truly runs in background - Compress uploaded images to max 1200px JPEG 85% before storage Co-Authored-By: Claude Sonnet 4.6 --- .../Controllers/NailPolishImportController.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/NailPolishImportController.php b/app/Http/Controllers/NailPolishImportController.php index 9d88839..de2b4c1 100644 --- a/app/Http/Controllers/NailPolishImportController.php +++ b/app/Http/Controllers/NailPolishImportController.php @@ -6,6 +6,8 @@ use App\Jobs\ProcessNailPolishImage; use App\Models\NailPolishImport; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; +use Intervention\Image\ImageManager; +use Intervention\Image\Drivers\Gd\Driver; class NailPolishImportController extends Controller { @@ -29,8 +31,17 @@ class NailPolishImportController extends Controller 'image' => 'required|image|mimes:jpeg,png,jpg,webp|max:10240', ]); - $file = $request->file('image'); - $path = $file->store('nail-polish-imports', 'public'); + $file = $request->file('image'); + $filename = 'nail-polish-imports/' . uniqid() . '.jpg'; + + $manager = new ImageManager(new Driver()); + $image = $manager->read($file->getRealPath()); + + // Auf max. 1200px skalieren und als JPEG mit 85% Qualität speichern + $image->scaleDown(width: 1200, height: 1200); + Storage::disk('public')->put($filename, $image->toJpeg(85)); + + $path = $filename; $import = NailPolishImport::create([ 'user_id' => auth()->id(),