/** * Au post upload, je vais générer les redimentionnements définis en conf * @param UploadEvent $event [description] * @return [type] [description] */ public function onPostUpload(Event $event) { $object = $event->getObject(); $mapping = $event->getMapping(); $file = $mapping->getFile($object); $mimetype = $file->getMimeType(); $mimetype_parts = explode('/', $mimetype); if (is_array($mimetype_parts) && count($mimetype_parts) == 2 && $mimetype_parts[0] == 'image') { $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); // Génération du resize $image_content = $this->image_handling->open($file->getPathname())->resize($resize_conf['width'], $resize_conf['height'])->get(); // copie du resize $adapter->setMetadata($resize_file, array('contentType' => $mimetype)); $adapter->write($resize_file, $image_content); } } }
/** * @param string $width * @param string $height * * @return object */ public function newImage($width, $height) { return $this->imageHandling->create($width, $height); }