From 15cbf0c23660e7e500665b974d17f2a227eb60bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Tue, 10 Aug 2021 17:08:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Server/Constrict/ResponseEmitter.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Server/Constrict/ResponseEmitter.php b/Server/Constrict/ResponseEmitter.php index 3f455053..aebada14 100644 --- a/Server/Constrict/ResponseEmitter.php +++ b/Server/Constrict/ResponseEmitter.php @@ -5,6 +5,7 @@ namespace Server\Constrict; use Exception; use HttpServer\Http\Formatter\FileFormatter; use Server\ResponseInterface; +use validator\EnumValidator; /** @@ -47,12 +48,21 @@ class ResponseEmitter // $response->header('Content-Type', 'application/download'); $response->header('Content-Disposition', 'attachment;filename=' . end($explode)); $response->header('Content-Transfer-Encoding', 'binary'); - $response->setStatusCode(200); + if ($content['isChunk'] === false) { $response->sendfile($content['path']); - return; + } else { + $this->chunk($content, $response); } + } + + /** + * @param $content + * @param $response + */ + private function chunk($content, $response): void + { $resource = fopen($content['path'], 'r'); $state = fstat($resource);