diff --git a/Service/ImageResize.php b/Service/ImageResize.php index aae90512b3d..2341b3a574a 100644 --- a/Service/ImageResize.php +++ b/Service/ImageResize.php @@ -258,13 +258,21 @@ class ImageResize private function resize(array $viewImage, string $originalImagePath, string $originalImageName) { $imageParams = $this->paramsBuilder->build($viewImage); - $image = $this->makeImage($originalImagePath, $imageParams); $imageAsset = $this->assertImageFactory->create( [ 'miscParams' => $imageParams, 'filePath' => $originalImageName, ] ); + $imageAssetPath = $imageAsset->getPath(); + + $alreadyResized = $this->mediaDirectory->isFile($imageAssetPath); + if ($alreadyResized) { + // image was already resized, no need to do it again! + return; + } + + $image = $this->makeImage($originalImagePath, $imageParams); if (isset($imageParams['watermark_file'])) { if ($imageParams['watermark_height'] !== null) { @@ -289,7 +297,7 @@ class ImageResize if ($imageParams['image_width'] !== null && $imageParams['image_height'] !== null) { $image->resize($imageParams['image_width'], $imageParams['image_height']); } - $image->save($imageAsset->getPath()); + $image->save($imageAssetPath); } /**