implement a mechanism to return a file from a flysystem filesystem.

This commit is contained in:
Greyscale 2020-09-09 07:32:50 +02:00
parent 9584c0bdb5
commit d61bbd5668
No known key found for this signature in database
GPG key ID: C6178C19949CFFE3

View file

@ -5,6 +5,7 @@ namespace Benzine\Controllers;
use Benzine\Controllers\Filters\Filter;
use Benzine\Exceptions\FilterDecodeException;
use Benzine\ORM\Abstracts\AbstractService;
use League\Flysystem\Filesystem;
use Monolog\Logger;
use Slim\Psr7\Request;
use Slim\Psr7\Response;
@ -111,4 +112,19 @@ abstract class AbstractController
->withStatus(404)
;
}
protected function returnFile(Filesystem $filesystem, string $filename) : Response{
$response = new Response();
if(!$filesystem->has($filename)){
return $this->pageNotFound();
}
//\Kint::dump($filesystem->getMimetype($assetName));exit;
$response->getBody()
->write($filesystem->read($filename));
;
return $response->withHeader("Content-type", $filesystem->getMimetype($filename));
}
}