Skip to content

Commit 9fe4b95

Browse files
authored
Merge pull request #17822 from nextcloud/fix/noid/tip-download-to-node-api
switch to Files Node API for zip generation
2 parents e693709 + f9bfd48 commit 9fe4b95

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

lib/private/legacy/files.php

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,10 +177,21 @@ public static function get($dir, $files, $params = null) {
177177
foreach ($files as $file) {
178178
$file = $dir . '/' . $file;
179179
if (\OC\Files\Filesystem::is_file($file)) {
180-
$fileSize = \OC\Files\Filesystem::filesize($file);
181-
$fileTime = \OC\Files\Filesystem::filemtime($file);
182-
$fh = \OC\Files\Filesystem::fopen($file, 'r');
183-
$streamer->addFileFromStream($fh, basename($file), $fileSize, $fileTime);
180+
$userFolder = \OC::$server->getRootFolder()->get(\OC\Files\Filesystem::getRoot());
181+
$file = $userFolder->get($file);
182+
if($file instanceof \OC\Files\Node\File) {
183+
$fh = $file->fopen('r');
184+
$fileSize = $file->getSize();
185+
$fileTime = $file->getMTime();
186+
} else {
187+
// File is not a file? …
188+
\OC::$server->getLogger()->debug(
189+
'File given, but no Node available. Name {file}',
190+
[ 'app' => 'files', 'file' => $file ]
191+
);
192+
continue;
193+
}
194+
$streamer->addFileFromStream($fh, $file->getName(), $fileSize, $fileTime);
184195
fclose($fh);
185196
} elseif (\OC\Files\Filesystem::is_dir($file)) {
186197
$streamer->addDirRecursive($file);

0 commit comments

Comments
 (0)