16
16
use OCP \Constants ;
17
17
use OCP \Files \File ;
18
18
use OCP \Files \Folder ;
19
+ use OCP \Files \IFilenameValidator ;
19
20
use OCP \Files \IMimeTypeDetector ;
20
21
use OCP \Files \InvalidPathException ;
21
22
use OCP \Files \IRootFolder ;
@@ -35,7 +36,8 @@ public function __construct(private IRootFolder $rootFolder,
35
36
private ShareManager $ shareManager ,
36
37
private IPreview $ previewManager ,
37
38
private IMimeTypeDetector $ mimeTypeDetector ,
38
- private IURLGenerator $ urlGenerator ) {
39
+ private IURLGenerator $ urlGenerator ,
40
+ private IFilenameValidator $ filenameValidator ) {
39
41
}
40
42
41
43
/**
@@ -263,6 +265,7 @@ public function uploadAttachment(int $documentId, string $newFileName, $newFileR
263
265
}
264
266
$ saveDir = $ this ->getAttachmentDirectoryForFile ($ textFile , true );
265
267
$ fileName = self ::getUniqueFileName ($ saveDir , $ newFileName );
268
+ $ this ->filenameValidator ->validateFilename ($ fileName );
266
269
$ savedFile = $ saveDir ->newFile ($ fileName , $ newFileResource );
267
270
return [
268
271
'name ' => $ fileName ,
@@ -293,6 +296,7 @@ public function uploadAttachmentPublic(?int $documentId, string $newFileName, $n
293
296
$ textFile = $ this ->getTextFilePublic ($ documentId , $ shareToken );
294
297
$ saveDir = $ this ->getAttachmentDirectoryForFile ($ textFile , true );
295
298
$ fileName = self ::getUniqueFileName ($ saveDir , $ newFileName );
299
+ $ this ->filenameValidator ->validateFilename ($ fileName );
296
300
$ savedFile = $ saveDir ->newFile ($ fileName , $ newFileResource );
297
301
return [
298
302
'name ' => $ fileName ,
0 commit comments