diff options
author | Richard Steinmetz <richard@steinmetz.cloud> | 2024-08-01 16:17:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-01 16:17:10 +0200 |
commit | abd7514c5e9a3578ea6c27547af0907927585136 (patch) | |
tree | 7bbe2a278fb577ca5aef92ff1edb5da7e75f119b | |
parent | 13921cab9836de9290ffa9d7058a88dc67b41125 (diff) | |
parent | 08c785ff4665351ff30f72c92cc06f5b9735dce8 (diff) | |
download | nextcloud-server-abd7514c5e9a3578ea6c27547af0907927585136.tar.gz nextcloud-server-abd7514c5e9a3578ea6c27547af0907927585136.zip |
Merge pull request #46864 from nextcloud/fix/dont-persist-blurhash-preview-2
fix: don't persist previews used during blurhash generation - take 2
-rw-r--r-- | lib/private/Blurhash/Listener/GenerateBlurhashMetadata.php | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/lib/private/Blurhash/Listener/GenerateBlurhashMetadata.php b/lib/private/Blurhash/Listener/GenerateBlurhashMetadata.php index 61ace449453..bb5bc3cadb2 100644 --- a/lib/private/Blurhash/Listener/GenerateBlurhashMetadata.php +++ b/lib/private/Blurhash/Listener/GenerateBlurhashMetadata.php @@ -15,12 +15,10 @@ use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventDispatcher; use OCP\EventDispatcher\IEventListener; use OCP\Files\GenericFileException; -use OCP\Files\NotFoundException; use OCP\Files\NotPermittedException; use OCP\FilesMetadata\AMetadataEvent; use OCP\FilesMetadata\Event\MetadataBackgroundEvent; use OCP\FilesMetadata\Event\MetadataLiveEvent; -use OCP\IPreview; use OCP\Lock\LockedException; /** @@ -34,11 +32,6 @@ class GenerateBlurhashMetadata implements IEventListener { private const COMPONENTS_X = 4; private const COMPONENTS_Y = 3; - public function __construct( - private IPreview $preview, - ) { - } - /** * @throws NotPermittedException * @throws GenericFileException @@ -67,20 +60,12 @@ class GenerateBlurhashMetadata implements IEventListener { return; } - $image = false; - try { - // using preview image to generate the blurhash - $preview = $this->preview->getPreview($file, 256, 256); - $image = @imagecreatefromstring($preview->getContent()); - } catch (NotFoundException $e) { - // https://github.com/nextcloud/server/blob/9d70fd3e64b60a316a03fb2b237891380c310c58/lib/private/legacy/OC_Image.php#L668 - // The preview system can fail on huge picture, in that case we use our own image resizer. - if (str_starts_with($file->getMimetype(), 'image/')) { - $image = $this->resizedImageFromFile($file); - } + if (!str_starts_with($file->getMimetype(), 'image/')) { + return; } - if ($image === false) { + $image = $this->resizedImageFromFile($file); + if (!$image) { return; } |