[Fix issue #104] - Show image attachements on browser

This commit is contained in:
ivan 2018-05-02 21:40:44 -03:00
parent ce3d2a249b
commit 43ef3e4e19
1 changed files with 18 additions and 4 deletions

View File

@ -19,9 +19,9 @@ class FileDownloader extends FileManager {
if(file_exists($fullFilePath) && is_file($fullFilePath)) {
header('Cache-control: private');
header('Content-Type: application/octet-stream');
header('Content-Length: '.filesize($fullFilePath));
header('Content-Disposition: filename='. $this->getFileName());
header('Content-Type: ' . $this->getFileContentType());
header('Content-Length: ' . filesize($fullFilePath));
header('Content-Disposition: filename=' . $this->getFileName());
flush();
$file = fopen($fullFilePath, 'r');
@ -37,4 +37,18 @@ class FileDownloader extends FileManager {
public function eraseFile() {
unlink($this->getLocalPath() . $this->getFileName());
}
}
public function getFileContentType() {
$fileExtension = substr($this->getFileName(), -3);
$contentTypes = [
'jpg' => 'image/jpeg',
'gif' => 'image/fig',
'png' => 'image/png',
'default' => 'application/octet-stream',
];
return $contentTypes[
array_key_exists($fileExtension, $contentTypes) ? $fileExtension : 'default'
];
}
}