1616use OCP \Constants ;
1717use OCP \Files \File ;
1818use OCP \Files \Folder ;
19+ use OCP \Files \IFilenameValidator ;
1920use OCP \Files \IMimeTypeDetector ;
2021use OCP \Files \InvalidPathException ;
2122use OCP \Files \IRootFolder ;
@@ -35,7 +36,8 @@ public function __construct(private IRootFolder $rootFolder,
3536 private ShareManager $ shareManager ,
3637 private IPreview $ previewManager ,
3738 private IMimeTypeDetector $ mimeTypeDetector ,
38- private IURLGenerator $ urlGenerator ) {
39+ private IURLGenerator $ urlGenerator ,
40+ private IFilenameValidator $ filenameValidator ) {
3941 }
4042
4143 /**
@@ -263,6 +265,7 @@ public function uploadAttachment(int $documentId, string $newFileName, $newFileR
263265 }
264266 $ saveDir = $ this ->getAttachmentDirectoryForFile ($ textFile , true );
265267 $ fileName = self ::getUniqueFileName ($ saveDir , $ newFileName );
268+ $ this ->filenameValidator ->validateFilename ($ fileName );
266269 $ savedFile = $ saveDir ->newFile ($ fileName , $ newFileResource );
267270 return [
268271 'name ' => $ fileName ,
@@ -293,6 +296,7 @@ public function uploadAttachmentPublic(?int $documentId, string $newFileName, $n
293296 $ textFile = $ this ->getTextFilePublic ($ documentId , $ shareToken );
294297 $ saveDir = $ this ->getAttachmentDirectoryForFile ($ textFile , true );
295298 $ fileName = self ::getUniqueFileName ($ saveDir , $ newFileName );
299+ $ this ->filenameValidator ->validateFilename ($ fileName );
296300 $ savedFile = $ saveDir ->newFile ($ fileName , $ newFileResource );
297301 return [
298302 'name ' => $ fileName ,
0 commit comments