Skip to content

Commit 49a81d6

Browse files
committed
Don't copy the file if no conversion is needed
1 parent 9769f82 commit 49a81d6

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

src/Conversions/FileManipulator.php

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,20 @@ public function performConversions(
4646
Media $media,
4747
bool $onlyMissing = false
4848
): self {
49+
$conversions = $conversions
50+
->when(
51+
$onlyMissing,
52+
fn (ConversionCollection $conversions) => $conversions->reject(function (Conversion $conversion) use ($media) {
53+
$relativePath = $media->getPath($conversion->getName());
54+
55+
if ($rootPath = config("filesystems.disks.{$media->disk}.root")) {
56+
$relativePath = str_replace($rootPath, '', $relativePath);
57+
}
58+
59+
return Storage::disk($media->disk)->exists($relativePath);
60+
})
61+
);
62+
4963
if ($conversions->isEmpty()) {
5064
return $this;
5165
}
@@ -57,19 +71,7 @@ public function performConversions(
5771
$temporaryDirectory->path(Str::random(32).'.'.$media->extension)
5872
);
5973

60-
$conversions
61-
->reject(function (Conversion $conversion) use ($onlyMissing, $media) {
62-
$relativePath = $media->getPath($conversion->getName());
63-
64-
if ($rootPath = config("filesystems.disks.{$media->disk}.root")) {
65-
$relativePath = str_replace($rootPath, '', $relativePath);
66-
}
67-
68-
return $onlyMissing && Storage::disk($media->disk)->exists($relativePath);
69-
})
70-
->each(function (Conversion $conversion) use ($media, $copiedOriginalFile) {
71-
(new PerformConversionAction)->execute($conversion, $media, $copiedOriginalFile);
72-
});
74+
$conversions->each(fn (Conversion $conversion) => (new PerformConversionAction)->execute($conversion, $media, $copiedOriginalFile));
7375

7476
$temporaryDirectory->delete();
7577

0 commit comments

Comments
 (0)