Fix preview generator trying to recreate an existing folder

Backport of #32315

Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
This commit is contained in:
Richard Steinmetz 2022-05-10 13:37:30 +02:00
parent 1def8bdd0e
commit 468ff90031
No known key found for this signature in database
GPG key ID: 27137D9E7D273FB2

View file

@ -31,6 +31,7 @@ namespace OC\Preview;
use OCP\Files\File;
use OCP\Files\IAppData;
use OCP\Files\InvalidPathException;
use OCP\Files\NotFoundException;
use OCP\Files\NotPermittedException;
use OCP\Files\SimpleFS\ISimpleFile;
@ -464,12 +465,19 @@ class Generator {
*
* @param File $file
* @return ISimpleFolder
*
* @throws InvalidPathException
* @throws NotFoundException
* @throws NotPermittedException
*/
private function getPreviewFolder(File $file) {
// Obtain file id outside of try catch block to prevent the creation of an existing folder
$fileId = (string)$file->getId();
try {
$folder = $this->appData->getFolder($file->getId());
$folder = $this->appData->getFolder($fileId);
} catch (NotFoundException $e) {
$folder = $this->appData->newFolder($file->getId());
$folder = $this->appData->newFolder($fileId);
}
return $folder;