Author: Gregwar (g.passault@gmail.com)
 /**
  * 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);
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * @param string $width
  * @param string $height
  *
  * @return object
  */
 public function newImage($width, $height)
 {
     return $this->imageHandling->create($width, $height);
 }