使用 LiipImagineBundle 转换图像
Convert image with LiipImagineBundle
我尝试使用 LiipImagineBundle 转换图像。该文件存储在 symfony 应用程序根文件夹的子文件夹 storage/
中,而不是 web/
文件夹中。这是因为我必须在传送图像之前使用自定义安全层。
例如我在文件夹 symfony_app/storage/images/image.jpg
中有一张图片。现在我想转换它并将过滤后的图像保存在子文件夹 symfony_app/storage/images/thumbnail/image.jpg
.
中
现在我试试代码
$imagineController = $this->container->get('liip_imagine.controller');
$imagineController->filterAction(new Request(), '/path/to/symfony_app/storage/images/image.jpg', 'thumbnail');
但我收到消息 "Source image could not be found"
的 404 错误。
我不明白为什么找不到文件。我也试过控制台命令
php bin/console liip:imagine:cache:resolve images/image.jpg
并得到结果:
[Imagine\Exception\RuntimeException]
Unable to open image /path/to/symfony_app/storage/images/image.jpg
storage/
子文件夹的访问权限为 777,这是我的 LiipImagine 配置:
liip_imagine:
loaders:
default:
filesystem:
data_root: /var/www/actus-backend/storage/
resolvers:
default:
web_path: ~
filter_sets:
cache: ~
thumbnail:
quality: 75
filters:
thumbnail: { size: [100, 100], mode: outbound }
尝试使用 kernel.root_dir
参数设置您的存储路径。
如果您需要安全层中安全图像文件夹的路径,将其定义为参数可能会有所帮助。在 LiipImagine 包的配置中重用该参数:
# app/config/config.yml
parameters:
images_root_dir: "%kernel.root_dir%/../storage"
liip_imagine:
loaders:
default:
filesystem:
data_root: "%images_root_dir%"
我尝试使用 LiipImagineBundle 转换图像。该文件存储在 symfony 应用程序根文件夹的子文件夹 storage/
中,而不是 web/
文件夹中。这是因为我必须在传送图像之前使用自定义安全层。
例如我在文件夹 symfony_app/storage/images/image.jpg
中有一张图片。现在我想转换它并将过滤后的图像保存在子文件夹 symfony_app/storage/images/thumbnail/image.jpg
.
现在我试试代码
$imagineController = $this->container->get('liip_imagine.controller');
$imagineController->filterAction(new Request(), '/path/to/symfony_app/storage/images/image.jpg', 'thumbnail');
但我收到消息 "Source image could not be found"
的 404 错误。
我不明白为什么找不到文件。我也试过控制台命令
php bin/console liip:imagine:cache:resolve images/image.jpg
并得到结果:
[Imagine\Exception\RuntimeException]
Unable to open image /path/to/symfony_app/storage/images/image.jpg
storage/
子文件夹的访问权限为 777,这是我的 LiipImagine 配置:
liip_imagine:
loaders:
default:
filesystem:
data_root: /var/www/actus-backend/storage/
resolvers:
default:
web_path: ~
filter_sets:
cache: ~
thumbnail:
quality: 75
filters:
thumbnail: { size: [100, 100], mode: outbound }
尝试使用 kernel.root_dir
参数设置您的存储路径。
如果您需要安全层中安全图像文件夹的路径,将其定义为参数可能会有所帮助。在 LiipImagine 包的配置中重用该参数:
# app/config/config.yml
parameters:
images_root_dir: "%kernel.root_dir%/../storage"
liip_imagine:
loaders:
default:
filesystem:
data_root: "%images_root_dir%"