addMediaCollection('images') ->acceptsFile(function ($file) use ($allowedExtensions, $maxSizeBytes) { // Check file extension $fileName = $file->name ?? $file->getFilename(); $extension = strtolower(pathinfo($fileName, PATHINFO_EXTENSION)); if (!in_array($extension, $allowedExtensions)) { return false; } // Check file size $fileSize = $file->size ?? filesize($file->getPathname()); if ($fileSize > $maxSizeBytes) { return false; } return true; }) ->useDisk(StorageConfigService::getActiveDisk()); } public function registerMediaConversions(Media $media = null): void { $this->addMediaConversion('thumb') ->width(300) ->height(300) ->sharpen(10) ->performOnCollections('images') ->nonQueued(); } }