← Back
Editing: ReportPictureService.php
<?php namespace App\Service; use App\Entity\ReportPicture; use App\Entity\User; use Intervention\Image\ImageManager; final class ReportPictureService { public function upload(string $fileBase64, string $reportPhotosDirectory, User $user): ReportPicture { $pictureDir = $reportPhotosDirectory.'/'.date('Y/m/d'); @mkdir($pictureDir, 0777, true); $uid = uniqid(); $picName = $uid.'.png'; $picResizedName = $uid.'_resized.png'; file_put_contents($pictureDir.'/'.$picName, base64_decode($fileBase64)); $manager = new ImageManager(['driver' => 'gd']); $image = $manager->make($pictureDir.'/'.$picName)->save($pictureDir.'/'.$picName); $manager->make($pictureDir.'/'.$picName)->resize(300, 300)->save($pictureDir.'/'.$picResizedName); $reportPicture = new ReportPicture(); $reportPicture->setPath('/uploads/report_photos/'.date('Y/m/d').'/'.$picName); $reportPicture->setResizedPath('/uploads/report_photos/'.date('Y/m/d').'/'.$picResizedName); $reportPicture->setSize($image->filesize()); $reportPicture->setWidth($image->width()); $reportPicture->setHeight($image->height()); $reportPicture->setOwner($user); return $reportPicture; } }
Save File
Cancel