/**
  * @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');
 }
Пример #2
0
 public function getOriginalFilename()
 {
     return $this->media->getOriginalFilename();
 }
Пример #3
0
 /**
  * @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());
 }
Пример #4
0
 /**
  *
  *
  * @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);
 }