在Javascript中使用LiipImagineBundle的最佳方法

时间:2018-11-14 13:37:01

标签: design-patterns symfony4 liipimaginebundle

在Symfony4项目中,我正在使用LiipImagineBundle调整图像大小。 有一个不错的Twig过滤器,因此您可以在模板中使用它:

<img src="{{ asset('images/my_image.jpg') | imagine_filter('downscale_800') }}" alt="">
然后,

LiipImagine将决定返回一个需要解析为已调整大小并缓存的版本的URI,或者将URI提供给已缓存的版本(大多数情况下将导致304响应)。 正确的URI然后呈现在您的模板中。

但是在我的项目中,我也通过Javascript加载API数据。 例如,博客文章中的文章可以包含图片的URI。

现在我的问题是:通过LiipImagine调整图像大小的最佳位置是什么?

我尝试了几种选择:

  • 在API的控制器中,将URI设置为博客文章模型中调整大小后的图像。但是,当您想在视图中使用不同的大小时,则必须更新控制器。而且,您必须在返回博客文章的每个控制器的每个函数中设置这些URI。
  • 在服务/存储库中,设置加载博客文章模型时的URI。但是,当您想要不同的大小并且不适合“关注点分离”时,这又将是一个问题。
  • 创建一个控制器,该控制器将接收图像的路径并调整参数大小。然后,该控制器将使用LiipImagine调整图像大小并获取缓存的URI。然后,控制器将重定向到Liip已生成的URI。但这将绕过Liip的缓存管理,并且始终会导致重定向。

我在LiipImagine的文档中没有找到任何提示,因此如果有人可以分享一些提示和技巧,那将是很好的。

0 个答案:

没有答案