add mime-types, support for vector images, fixes #113 #108

This commit is contained in:
Milos Stojanovic
2020-07-18 10:43:17 +02:00
parent fdb596a2fc
commit 5624aa9493
3 changed files with 37 additions and 8 deletions

View File

@@ -20,6 +20,7 @@ use Filegator\Services\Session\SessionStorageInterface as Session;
use Filegator\Services\Storage\Filesystem;
use Filegator\Services\Tmpfs\TmpfsInterface;
use Symfony\Component\HttpFoundation\HeaderUtils;
use Symfony\Component\Mime\MimeTypes;
class DownloadController
{
@@ -65,14 +66,17 @@ class DownloadController
// @codeCoverageIgnoreEnd
});
$contentDisposition = HeaderUtils::makeDisposition(HeaderUtils::DISPOSITION_ATTACHMENT, $file['filename'], 'file');
$contentType = 'application/octet-stream';
$mimes = (new MimeTypes())->getMimeTypes(pathinfo($file['filename'], PATHINFO_EXTENSION));
$contentType = !empty($mimes) ? $mimes[0] : 'application/octet-stream';
if (pathinfo($file['filename'], PATHINFO_EXTENSION) == 'pdf') {
$contentDisposition = HeaderUtils::makeDisposition(HeaderUtils::DISPOSITION_INLINE, $file['filename'], 'file');
$contentType = 'application/pdf';
$disposition = HeaderUtils::DISPOSITION_ATTACHMENT;
if ($contentType == 'application/pdf') {
$disposition = HeaderUtils::DISPOSITION_INLINE;
}
$contentDisposition = HeaderUtils::makeDisposition($disposition, $file['filename'], 'file');
$streamedResponse->headers->set(
'Content-Disposition',
$contentDisposition