如何解决Liip Imagine在Symfony 5中的侦听器事件上生成错误的删除路径
我正在将Liip Imagine Bundle用于Symfony5。我已经对其进行了配置,图像已生成并正确显示。
但是,我要删除图像的postUpdate
和preRemove
的事件侦听器出现问题。
侦听器本身可以正常工作,但是Liip Imagine为存储生成了错误的路径,因此,我陷入了成百上千个永远不会被正确删除的图像。
我的配置相当标准:
parameters:
img_path: "/public/assets/img/uploaded"
display_img_path: "/assets/img/uploaded/"
google_secret_key: '%env(GOOGLE_KEY)%'
site_name: '%env(SITE_NAME)%'
liip_img_cache_path: '/media/cache'
liip_imagine:
resolvers:
default:
web_path:
web_root: "%kernel.project_dir%/public"
cache_prefix: "%liip_img_cache_path%"
filter_sets:
cache: ~
listing_show_thumbnails:
quality: 60
filters:
thumbnail: { size: [ 450 ],mode: outbound,allow_upscale: true }
user_profile_public_thumbnail:
quality: 60
filters:
thumbnail: { size: [ 600 ],allow_upscale: true }
add_single_thumbnail:
quality: 60
filters:
thumbnail: { size: [ 300 ],allow_upscale: true }
add_single_thumbnail_carousel:
quality: 80
filters:
thumbnail: { size: [ 800 ],allow_upscale: true }
而且设置监听器的方式也是标准的。
class CacheImageListener
{
protected $cacheManager;
protected $parameterBag;
public function __construct(CacheManager $cacheManager,ParameterBagInterface $parameterBag)
{
$this->cacheManager = $cacheManager;
$this->parameterBag = $parameterBag;
}
public function postUpdate(LifecycleEventArgs $args)
{
//... some other stuff here
}
public function preRemove(LifecycleEventArgs $args)
{
$entity = $args->getEntity();
if ($entity instanceof UserImage) {
if($this->cacheManager->isstored($entity->getPath(),'user_profile_public_thumbnail')) {
$this->cacheManager->remove($entity->getPath(),'user_profile_public_thumbnail');
}
}
// other functions bellow
$this->cacheManager->isstored...
是
C:\Bitnami\wampstack-7.4.9-0\apps\coleg/public/media/cache/user_profile_public_thumbnail/6012e6dbf4cad3416fb609e343470c27778f491dd1debc238fa2d9b3676fae007cc439bcb912feaca006db1bc23a6d17759e.jpeg
第一部分是正确的(C:\Bitnami\wampstack-7.4.9-0\apps\coleg/public/media/cache/user_profile_public_thumbnail/
),其余部分是错误的。
文件夹结构就像这样
基本上,它缺少“后缀”,我想您会称呼它。意思是assets/img/uploaded
,这是我存储原始图像的地方。
我很确定我在某处配置不正确,但是我无法将手指放在上面。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。