// If preview exist check if it's newer than the file, regenate it otherwise if (file_exists($thumbPath)) { $thumbMTime = filemtime($thumbPath); $fileInfo = \OC\Files\Filesystem::getFileInfo($filePath); if ($thumbMTime < $fileInfo['mtime']) { unlink($thumbPath); } } // Check if thumbnail exist, create it otherwise if (!file_exists($thumbPath)) { $imgHandler = new \OCA\OCLife\ImageHandler(); $imgHandler->setHeight(320); $imgHandler->setWidth(320); $imgHandler->setBgColorFromValues(0, 0, 0); $imgHandler->generateImageThumbnail($viewPath, $filePath, $thumbPath); } $previewPath = is_file($thumbPath) ? $thumbPath : $placeHolderPath; } else { $previewPath = $placeHolderPath; } } // Output the preview $mtime = filemtime($previewPath); $size = filesize($previewPath); $mime = \OC_Helper::getMimetype($previewPath); \OCP\Response::enableCaching(); \OCP\Response::setLastModifiedHeader($mtime); header('Content-Length: ' . $size); header('Content-Type: ' . $mime); $fp = @fopen($previewPath, 'rb'); @fpassthru($fp);
public function show() { if ($this->useOriginal) { $fp = @$this->view->fopen($this->path, 'rb'); $mtime = $this->view->filemtime($this->path); $size = $this->view->filesize($this->path); $mime = $this->view->getMimetype($this->path); } else { $fp = @fopen($this->path, 'rb'); $mtime = filemtime($this->path); $size = filesize($this->path); $mime = \OC_Helper::getMimetype($this->path); } if ($fp) { \OCP\Response::enableCaching(); \OCP\Response::setLastModifiedHeader($mtime); header('Content-Length: ' . $size); header('Content-Type: ' . $mime); fpassthru($fp); } else { \OC_Response::setStatus(\OC_Response::STATUS_NOT_FOUND); } }
/** * Get the thumbnail of the image * @param string $thumbImagePath */ public function getThumbnail($thumbImagePath) { $fp = @fopen($thumbImagePath, 'rb'); $mtime = filemtime($thumbImagePath); $size = filesize($thumbImagePath); $mime = \OC_Helper::getMimetype($thumbImagePath); if ($fp) { \OCP\Response::enableCaching(); \OCP\Response::setLastModifiedHeader($mtime); header('Content-Length: ' . $size); header('Content-Type: ' . $mime); fpassthru($fp); } else { \OC_Response::setStatus(\OC_Response::STATUS_NOT_FOUND); } }