Example #1
0
 /**
  * Creates a single file.
  *
  * @param UploadedFile $uploadedFile
  * @param Category $category
  * @param ObjectManager $em
  * @param $type
  * @param null $name
  */
 protected function createFile(UploadedFile $uploadedFile, Category $category, ObjectManager $em, $type, $name = null)
 {
     $repo = $this->getDoctrine()->getRepository(File::class);
     $fileName = $uploadedFile->getClientOriginalName();
     $file = $repo->findOneBy(['category' => $category, 'type' => $type]);
     if ($file) {
         $file->unlink();
     } else {
         $file = new File();
     }
     $file->setCategory($category);
     $file->setPath("files/uploads/{$fileName}");
     $file->setType($type);
     $file->setName($name);
     $file->setCreatedAt(new \DateTime());
     $uploadedFile->move($this->get('kernel')->getRootDir() . '/../web/files/uploads', $fileName);
     $em->persist($file);
 }