diff options
author | Elizabeth Danzberger <lizzy7128@tutanota.de> | 2025-01-16 15:23:38 -0500 |
---|---|---|
committer | Elizabeth Danzberger <lizzy7128@tutanota.de> | 2025-01-16 15:23:38 -0500 |
commit | f9adb006b02c13cab12f1b4b6feaf1fce47079f5 (patch) | |
tree | 2c4d813c2f7328c3851654afed32c92e264bfa24 /lib/private/Files/Conversion | |
parent | bdc73c67bba844d4439dee7c1786b14a5d6d8d71 (diff) | |
download | nextcloud-server-f9adb006b02c13cab12f1b4b6feaf1fce47079f5.tar.gz nextcloud-server-f9adb006b02c13cab12f1b4b6feaf1fce47079f5.zip |
fix: prevent missing target file extension
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
Diffstat (limited to 'lib/private/Files/Conversion')
-rw-r--r-- | lib/private/Files/Conversion/ConversionManager.php | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/lib/private/Files/Conversion/ConversionManager.php b/lib/private/Files/Conversion/ConversionManager.php index db49f7afed9..0a6090cda01 100644 --- a/lib/private/Files/Conversion/ConversionManager.php +++ b/lib/private/Files/Conversion/ConversionManager.php @@ -92,16 +92,16 @@ class ConversionManager implements IConversionManager { $fileMimeType = $file->getMimetype(); $validProvider = $this->getValidProvider($fileMimeType, $targetMimeType); - $targetExtension = ''; - foreach ($this->getProvidersForMime($fileMimeType) as $mimeProvider) { - if ($mimeProvider->getTo() === $targetMimeType) { - $targetExtension = $mimeProvider->getExtension(); - break; - } - } - if ($validProvider !== null) { $convertedFile = $validProvider->convertFile($file, $targetMimeType); + + $targetExtension = ''; + foreach ($validProvider->getSupportedMimeTypes() as $mimeProvider) { + if ($mimeProvider->getTo() === $targetMimeType) { + $targetExtension = $mimeProvider->getExtension(); + break; + } + } // If destination not provided, we use the same path // as the original file, but with the new extension @@ -122,10 +122,6 @@ class ConversionManager implements IConversionManager { * @return list<IConversionProvider> */ private function getRegisteredProviders(): array { - if (count($this->providers) > 0) { - return $this->providers; - } - $context = $this->coordinator->getRegistrationContext(); foreach ($context->getFileConversionProviders() as $providerRegistration) { $class = $providerRegistration->getService(); |