diff options
author | Roeland Jago Douma <roeland@famdouma.nl> | 2020-11-18 22:48:11 +0300 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2020-11-18 22:48:11 +0300 |
commit | 4f858f1634ebf3a63380b18f276fcf0f818b98c0 (patch) | |
tree | 48244e8dfed4e1f45446d62d488424e3ffe8b7be /lib | |
parent | 80b1312144b2b84b1c45848ac84ea8dc11066158 (diff) |
Don't use a stream response on an empty file
Streaming an empty file does boom currently.
So lets use a differnt response for that.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Controller/WopiController.php | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/Controller/WopiController.php b/lib/Controller/WopiController.php index a0a475bd..0fbc5ef3 100644 --- a/lib/Controller/WopiController.php +++ b/lib/Controller/WopiController.php @@ -353,15 +353,23 @@ class WopiController extends Controller { $versionPath = '/files_versions/' . $relPath . '.v' . $version; $view = new View('/' . $wopi->getOwnerUid()); if ($view->file_exists($versionPath)){ - $response = new StreamResponse($view->fopen($versionPath, 'rb')); + $info = $view->getFileInfo($versionPath); + if ($info->getSize() === 0) { + $response = new Http\Response(); + } else { + $response = new StreamResponse($view->fopen($versionPath, 'rb')); + } } else { return new JSONResponse([], Http::STATUS_NOT_FOUND); } } - else - { - $response = new StreamResponse($file->fopen('rb')); + else { + if ($file->getSize() === 0) { + $response = new Http\Response(); + } else { + $response = new StreamResponse($file->fopen('rb')); + } } $response->addHeader('Content-Disposition', 'attachment'); $response->addHeader('Content-Type', 'application/octet-stream'); |