src/Controller/FileUploadController.php line 53
<?phpnamespace App\Controller;use App\Entity\Gallery;use App\Repository\PageRepository;use App\Services\SpacesUploader;use App\Services\FileUploader;use App\Services\PageService;use Doctrine\ORM\EntityManagerInterface;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\Routing\Annotation\Route;class FileUploadController extends AbstractController{private EntityManagerInterface $entityManager;public function __construct(EntityManagerInterface $entityManager){$this->entityManager = $entityManager;}#[Route('/file/upload', name: 'file_upload', requirements: ['_locale' => 'en|ru|hy'], defaults: ['_locale' => 'ru'])]public function index(Request $request, SpacesUploader $spacesUploader){$gallery = new Gallery();$brochureFile = $request->files->get('file');$brochureFileName = $spacesUploader->upload($brochureFile);$gallery->setImage($brochureFileName);$gallery->setLocale('hy');$gallery->setIsPrint(false);$gallery->setCompressedImage($brochureFileName);$gallery->setDocumentNumber($request->get('document_id'));$gallery->setLetterId($request->get('letter_id'));$gallery->setCreatedAt(new \DateTime());$gallery->setUser($this->getUser());$gallery->setTemplateId($request->get('template_id'));$this->entityManager->persist($gallery);$this->entityManager->flush();return $this->json(['success' => true,'id' => $gallery->getId()]);}#[Route('/file/upload/edit/{id}', name: 'file_upload_edit', requirements: ['_locale' => 'en|ru|hy'], defaults: ['_locale' => 'ru'])]public function indexEdit(Request $request, Gallery $gallery){$gallery->setIsPrint(true);$this->entityManager->flush();return $this->json(['success' => true]);}#[Route('/page/image/upload', name: 'page_file_upload')]public function pageImageUpload(Request $request, FileUploader $fileUploader, PageRepository $pageRepository, PageService $pageService){$brochureFile = $request->files->get('file');$field = $request->get('field');$pageId = $request->get('pageId');$brochureFileName = $fileUploader->upload($brochureFile);$page = $pageRepository->find($pageId);$setter = $pageService->generateSetter($field);$page->$setter($brochureFileName);$this->entityManager->persist($page);$this->entityManager->flush();return $this->json(['success' => 'success','fileName'=>$brochureFileName,'field'=>$field]);}}