LiipImagineBundle icon indicating copy to clipboard operation
LiipImagineBundle copied to clipboard

Resolve Programmatically not generate cache

Open ziat1988 opened this issue 1 year ago • 2 comments

I want to pre-generate the cache, by doing:

public function yourControllerMethod(CacheManager $imagineCacheManager)
    {
        /** @var string */
        $resolvedPath = $imagineCacheManager->getBrowserPath('/relative/path/to/image.jpg', 'my_thumb');

        // ...
    }

But there are no cache generated in media/cache. I tried the console php bin/console liip:imagine:cache:resolve relative/path/to/image.jpg --filters=my_thumb then it works perfectly. So is it possible to resolve in the code, controller or service? The reason I want to do this is because I have some heavy task image and I want to pre generate the cache before the client request.

Here is my config:

liip_imagine:
    # valid drivers options include "gd" or "gmagick" or "imagick"
    driver: "gd"
    resolvers:
        default :
            web_path : ~
    filter_sets:
        my_thumb:
            quality: 70
            filters:
                thumbnail: { size: [120, 90], mode: outbound, allow_upscale: true  }
                background: { size: [124, 94], position: center, color: '#000000' }

Thanks

ziat1988 avatar May 03 '23 09:05 ziat1988

if you do the web request as the browser would do it, the cache should also be warmed up. if you want to call the liip imagine services from code, i'd check again what the liip:imagine:cache:resolve command does and try to do mimik the same.

dbu avatar May 11 '23 06:05 dbu

Check

https://github.com/liip/LiipImagineBundle/issues/1512 and https://github.com/liip/LiipImagineBundle/issues/784

mikocevar avatar Sep 19 '23 06:09 mikocevar