/** * @param Event $event */ public function onPostUpload(Event $event) { $entity = $event->getObject(); $mapping = $event->getMapping(); if ($entity instanceof ImageInterface) { $fileLocation = $this->getStorage()->resolvePath($entity, 'file', null, true); list($width, $height) = getimagesize($this->getUploadDir() . '/' . $fileLocation); $entity->setImageDimensions(array($width, $height)); } }
/** * A la suppression de l'objet uploadé, je supprime également les redimensionnements * @param Event $event [description] * @return [type] [description] */ public function onPreRemove(Event $event) { $object = $event->getObject(); $mapping = $event->getMapping(); $adapter = $this->filesystem_map->get($mapping->getUploadDestination())->getAdapter(); $base_directory = $mapping->hasDirectoryNamer() ? $mapping->getDirectoryNamer()->directoryName($object, $mapping) . '/' : ''; foreach ($this->resizes as $suffix => $resize_conf) { $resize_file = $base_directory . ResizedNamer::getName($mapping->getFileName($object), $suffix); if (!is_null($resize_file) && $adapter->exists($resize_file)) { $adapter->delete($resize_file); } } }
public function onPostUpload(Event $event) { if ($event->getObject() instanceof SyntaxonPhoto) { // get the uploaded file $uploadedFile = $event->getObject(); // get the path of the uploaded file $path = $this->uploadHelper->asset($uploadedFile, 'imageFile'); // retrieve the file as a BinaryInterface $image = $this->imagineDataManager->find('thumb', $path); // Resize // applyFilter returns BinaryInterface $resized = $this->imagineFilterManager->applyFilter($image, 'resized'); // store the resized image $this->imagineCacheManager->store($resized, $path, 'resized'); // Thumb generation // applyFilter returns BinaryInterface $thumb = $this->imagineFilterManager->applyFilter($image, 'thumb'); // store the thumb $this->imagineCacheManager->store($thumb, $path, 'thumb'); } }
/** * @param \Vich\UploaderBundle\Event\Event $event */ public function onPostUpload(\Vich\UploaderBundle\Event\Event $event) { // set event data $this->mapping = $event->getMapping(); $this->object = $event->getObject(); // get filesystem $filesystem = $this->getContainer()->get('vichimagine.provider')->getFilesystem($this->mapping); // if image/* if (preg_match('/^image\\//', $this->getFile()->getMimeType())) { // filter $filter = $this->getFilterName(); // file and paths $file_name = $this->getFileName(); $file_relative = $this->getRelativeDir() . '/' . $file_name; // resize $image = $this->liip_data_manager->find($filter, $file_relative); $response = $this->liip_filter_manager->applyFilter($image, $filter); $format = $response->getFormat(); // replace extension & update $file_name = $this->replaceExtension($file_name, $format); $file_relative = $this->replaceExtension($file_relative, $format); $this->updateFileName($file_name); // write $filesystem->write($file_relative, $response->getContent(), true); } }