/** * @covers Kunstmaan\MediaBundle\Entity\Media::getFileSize * @covers Kunstmaan\MediaBundle\Entity\Media::setFileSize */ public function testSetFileSize() { $this->object->setFileSize(45); $this->assertEquals('45b', $this->object->getFileSize()); $this->object->setFileSize(64 * 1024); $this->assertEquals('64kb', $this->object->getFileSize()); $this->object->setFileSize(64 * 1024 * 1024); $this->assertEquals('64mb', $this->object->getFileSize()); }
/** * @param Media $media * * @throws \RuntimeException when the file does not exist */ public function prepareMedia(Media $media) { if (null == $media->getUuid()) { $uuid = uniqid(); $media->setUuid($uuid); } $content = $media->getContent(); if (empty($content)) { return; } if (!$content instanceof File) { if (!is_file($content)) { throw new \RuntimeException('Invalid file'); } $file = new File($content); $media->setContent($file); } if ($content instanceof UploadedFile) { $media->setOriginalFilename($content->getClientOriginalName()); $name = $media->getName(); if (empty($name)) { $media->setName($media->getOriginalFilename()); } } $media->setFileSize(filesize($media->getContent())); $contentType = $this->mimeTypeGuesser->guess($media->getContent()->getPathname()); $media->setContentType($contentType); $relativePath = sprintf('/%s.%s', $media->getUuid(), ExtensionGuesser::getInstance()->guess($media->getContentType())); $media->setUrl('/uploads/media' . $relativePath); $media->setLocation('local'); }
/** * @param Media $media * * @throws \RuntimeException when the file does not exist */ public function prepareMedia(Media $media) { if (null === $media->getUuid()) { $uuid = uniqid(); $media->setUuid($uuid); } $content = $media->getContent(); if (empty($content)) { return; } if (!$content instanceof File) { if (!is_file($content)) { throw new \RuntimeException('Invalid file'); } $file = new File($content); $media->setContent($file); } if ($content instanceof UploadedFile) { $media->setOriginalFilename($content->getClientOriginalName()); $name = $media->getName(); if (empty($name)) { $media->setName($media->getOriginalFilename()); } } $media->setFileSize(filesize($media->getContent())); $contentType = $this->mimeTypeGuesser->guess($media->getContent()->getPathname()); $media->setContentType($contentType); $media->setUrl(self::MEDIA_PATH . $this->getFilePath($media)); $media->setLocation('local'); }
/** * @param Media $media * * @throws \RuntimeException when the file does not exist */ public function prepareMedia(Media $media) { if (null === $media->getUuid()) { $uuid = uniqid(); $media->setUuid($uuid); } $content = $media->getContent(); if (empty($content)) { return; } if (!$content instanceof File) { if (!is_file($content)) { throw new \RuntimeException('Invalid file'); } $file = new File($content); $media->setContent($file); } $contentType = $this->mimeTypeGuesser->guess($content->getPathname()); if ($content instanceof UploadedFile) { $pathInfo = pathinfo($content->getClientOriginalName()); if (!array_key_exists('extension', $pathInfo)) { $pathInfo['extension'] = $this->extensionGuesser->guess($contentType); } $media->setOriginalFilename($this->slugifier->slugify($pathInfo['filename']) . '.' . $pathInfo['extension']); $name = $media->getName(); if (empty($name)) { $media->setName($media->getOriginalFilename()); } } $media->setContentType($contentType); $media->setFileSize(filesize($media->getContent())); $media->setUrl($this->mediaPath . $this->getFilePath($media)); $media->setLocation('local'); }