/** * @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'); }
public function getOriginalFilename() { return $this->media->getOriginalFilename(); }
/** * @covers Kunstmaan\MediaBundle\Entity\Media::getOriginalFilename * @covers Kunstmaan\MediaBundle\Entity\Media::setOriginalFilename */ public function testGetSetOriginalFilename() { $this->object->setOriginalFilename('name.ext'); $this->assertEquals('name.ext', $this->object->getOriginalFilename()); }
/** * * * @param Media $media * @return string */ private function getFilePath(Media $media) { $filename = $media->getOriginalFilename(); $filename = str_replace(array('/', '\\', '%'), '', $filename); $slugifier = new Slugifier(); if (!empty($this->blacklistedExtensions)) { $filename = preg_replace('/\\.(' . join('|', $this->blacklistedExtensions) . ')$/', '.txt', $filename); } $parts = pathinfo($filename); $filename = $slugifier->slugify($parts['filename']); $filename .= '.' . strtolower($parts['extension']); return sprintf('%s/%s', $media->getUuid(), $filename); }
/** * * * @param Media $media * @return string */ private function getFilePath(Media $media) { $filename = $media->getOriginalFilename(); $filename = str_replace(array('/', '\\'), '', $filename); if (!empty($this->blacklistedExtensions)) { $filename = preg_replace('/\\.(' . join('|', $this->blacklistedExtensions) . ')$/', '.txt', $filename); } return sprintf('%s/%s', $media->getUuid(), $filename); }