getClientMimeType(), $this->availableFormats)) { // Create intervention image $intervention = Image::make($file)->orientate(); // Generate avatar sizes collect(config('vuefilemanager.image_sizes')) ->each(function ($size) use ($intervention, $file_name, $user_id) { // Create thumbnail only if image is larger than predefined image sizes if ($intervention->getWidth() > $size['size']) { // Generate thumbnail $intervention->resize($size['size'], null, fn ($constraint) => $constraint->aspectRatio())->stream(); // Store thumbnail to disk Storage::put("files/$user_id/{$size['name']}-{$file_name}", $intervention); } }); } } }