/** * @return string */ public function getSize() { return GeneralUtility::formatSize($this->resource->getSize(), $this->getLanguageService()->getLL('byteSizeUnits', true)); }
/** * Outputs file Contents, * clears output buffer first and sends headers accordingly. * * @param FileInterface $file * @param bool $asDownload If set Content-Disposition attachment is sent, inline otherwise * @param string $alternativeFilename the filename for the download (if $asDownload is set) * @param string $overrideMimeType If set this will be used as Content-Type header instead of the automatically detected mime type. * @return void */ public function dumpFileContents(FileInterface $file, $asDownload = false, $alternativeFilename = null, $overrideMimeType = null) { $downloadName = $alternativeFilename ?: $file->getName(); $contentDisposition = $asDownload ? 'attachment' : 'inline'; header('Content-Disposition: ' . $contentDisposition . '; filename="' . $downloadName . '"'); header('Content-Type: ' . ($overrideMimeType ?: $file->getMimeType())); header('Content-Length: ' . $file->getSize()); // Cache-Control header is needed here to solve an issue with browser IE8 and lower // See for more information: http://support.microsoft.com/kb/323308 header("Cache-Control: ''"); header('Last-Modified: ' . gmdate('D, d M Y H:i:s', array_pop($this->driver->getFileInfoByIdentifier($file->getIdentifier(), array('mtime')))) . ' GMT', true, 200); ob_clean(); flush(); while (ob_get_level() > 0) { ob_end_clean(); } $this->driver->dumpFileContents($file->getIdentifier()); }
/** * @return string */ public function getSize() { return GeneralUtility::formatSize($this->resource->getSize(), htmlspecialchars($this->getLanguageService()->getLL('byteSizeUnits'))); }