LiipImagineBundle and BinaryFileResponse LiipImagineBundle and BinaryFileResponse symfony symfony

LiipImagineBundle and BinaryFileResponse


You could apply the filter before returning the response. This solution is not efficient however, because it applies the fitler on every request, so utilize the CacheManager in the bundle. (I'm still figuring out if it works for non-public images.)

/** * @Route("/protected/images/{filename}", name="protected_image") */public function getProtectedimage($filename){    //.. logic ..    /** @var \Liip\ImagineBundle\Binary\Loader\FileSystemLoader $loader */    $loader = $this->get('liip_imagine.binary.loader.filesystem');    /** @var \Liip\ImagineBundle\Imagine\Filter\FilterManager $filterManager */    $filterManager = $this->get('liip_imagine.filter.manager');    $filteredImageBinary = $filterManager->applyFilter(        $loader->find('path/to/image'),        'my_thumb_filter'    );    return new Response($filteredImageBinary->getContent(), 200, array(        'Content-Type' => $filteredImageBinary->getMimeType(),    ));}