diff options
-rw-r--r-- | lib/Preview/Office.php | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/Preview/Office.php b/lib/Preview/Office.php index a8cf83dd..8e8ff2ea 100644 --- a/lib/Preview/Office.php +++ b/lib/Preview/Office.php @@ -63,7 +63,18 @@ abstract class Office extends Provider { * {@inheritDoc} */ public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) { - $stream = $fileview->fopen($path, 'r'); + $fileInfo = $fileview->getFileInfo($path); + if (!$fileInfo || $fileInfo->getSize() === 0) { + return false; + } + + $useTempFile = $fileInfo->isEncrypted() || !$fileInfo->getStorage()->isLocal(); + if ($useTempFile) { + $fileName = $fileview->toTmpFile($path); + $stream = fopen($fileName, 'r'); + } else { + $stream = $fileview->fopen($path, 'r'); + } $client = $this->clientService->newClient(); $options = ['timeout' => 10]; |