Skip to content

Commit

Permalink
Merge pull request #46864 from nextcloud/fix/dont-persist-blurhash-pr…
Browse files Browse the repository at this point in the history
…eview-2

fix: don't persist previews used during blurhash generation - take 2
  • Loading branch information
st3iny authored Aug 1, 2024
2 parents 13921ca + 08c785f commit abd7514
Showing 1 changed file with 4 additions and 19 deletions.
23 changes: 4 additions & 19 deletions lib/private/Blurhash/Listener/GenerateBlurhashMetadata.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,10 @@
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;

/**
Expand All @@ -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
Expand Down Expand Up @@ -67,20 +60,12 @@ public function handle(Event $event): void {
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;
}

Expand Down

0 comments on commit abd7514

Please sign in to comment.