← Back
Editing: PictureService.php
<?php namespace App\Service; use App\Entity\Picture; use Intervention\Image\ImageManager; use Symfony\Component\Security\Core\Security; class PictureService { public function __construct(private readonly string $photosDirectory, private readonly Security $security) { } public function createPictureFromBase64(string $content): Picture { $pictureDir = $this->photosDirectory.'/'.date('Y/m/d'); @mkdir($pictureDir, 0777, true); $uid = uniqid(); $picName = $uid.'.jpg'; $picCropName = $uid.'_crop.jpg'; file_put_contents($pictureDir.'/'.$picName, base64_decode($content)); $manager = new ImageManager(['driver' => 'gd']); $manager->make($pictureDir.'/'.$picName)->fit(250, 250)->save($pictureDir.'/'.$picCropName); $picture = new Picture(); $picture->setAgent($this->security->getUser()); $picture->setFilename('/uploads/photos/'.date('Y/m/d').'/'.$picName); return $picture; } }
Save File
Cancel