mirror of
https://github.com/nextcloud/server.git
synced 2026-04-22 06:37:56 -04:00
fix: don't persist previews used during blurhash generation
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
This commit is contained in:
parent
c882d78f58
commit
08c785ff46
1 changed files with 4 additions and 19 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue