Skip to content

Commit d1b5488

Browse files
Merge pull request #50219 from nextcloud/fix/file-conversion-missing-extension
2 parents bca2685 + 1497639 commit d1b5488

File tree

1 file changed

+8
-29
lines changed

1 file changed

+8
-29
lines changed

lib/private/Files/Conversion/ConversionManager.php

Lines changed: 8 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
use OC\AppFramework\Bootstrap\Coordinator;
1313
use OC\SystemConfig;
14-
use OCP\Files\Conversion\ConversionMimeProvider;
1514
use OCP\Files\Conversion\IConversionManager;
1615
use OCP\Files\Conversion\IConversionProvider;
1716
use OCP\Files\File;
@@ -61,22 +60,6 @@ public function getProviders(): array {
6160
return $providers;
6261
}
6362

64-
/**
65-
* @param string $mime
66-
* @return list<ConversionMimeProvider>
67-
*/
68-
private function getProvidersForMime(string $mime): array {
69-
$mimeTypes = $this->getProviders();
70-
$filtered = array_filter(
71-
$mimeTypes,
72-
function (ConversionMimeProvider $mimeProvider) use ($mime) {
73-
return $mimeProvider->getFrom() === $mime;
74-
}
75-
);
76-
77-
return array_values($filtered);
78-
}
79-
8063
public function convert(File $file, string $targetMimeType, ?string $destination = null): string {
8164
if (!$this->hasProviders()) {
8265
throw new PreConditionNotMetException('No file conversion providers available');
@@ -92,16 +75,16 @@ public function convert(File $file, string $targetMimeType, ?string $destination
9275
$fileMimeType = $file->getMimetype();
9376
$validProvider = $this->getValidProvider($fileMimeType, $targetMimeType);
9477

95-
$targetExtension = '';
96-
foreach ($this->getProvidersForMime($fileMimeType) as $mimeProvider) {
97-
if ($mimeProvider->getTo() === $targetMimeType) {
98-
$targetExtension = $mimeProvider->getExtension();
99-
break;
100-
}
101-
}
102-
10378
if ($validProvider !== null) {
10479
$convertedFile = $validProvider->convertFile($file, $targetMimeType);
80+
81+
$targetExtension = '';
82+
foreach ($validProvider->getSupportedMimeTypes() as $mimeProvider) {
83+
if ($mimeProvider->getTo() === $targetMimeType) {
84+
$targetExtension = $mimeProvider->getExtension();
85+
break;
86+
}
87+
}
10588

10689
// If destination not provided, we use the same path
10790
// as the original file, but with the new extension
@@ -122,10 +105,6 @@ public function convert(File $file, string $targetMimeType, ?string $destination
122105
* @return list<IConversionProvider>
123106
*/
124107
private function getRegisteredProviders(): array {
125-
if (count($this->providers) > 0) {
126-
return $this->providers;
127-
}
128-
129108
$context = $this->coordinator->getRegistrationContext();
130109
foreach ($context->getFileConversionProviders() as $providerRegistration) {
131110
$class = $providerRegistration->getService();

0 commit comments

Comments
 (0)