/**
  * @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());
 }
Exemple #3
0
 /**
  * @return string
  */
 public function getSize()
 {
     return GeneralUtility::formatSize($this->resource->getSize(), htmlspecialchars($this->getLanguageService()->getLL('byteSizeUnits')));
 }