VichUploaderBundle 和 AvalancheImagineBundle
2012-10-10
3120
我使用 VichUploaderBundle 上传我的媒体文件,我想使用 AvalancheImagineBundle 在我的模板中创建缩略图。 应该怎么做?
我现在有这个:
<td><img src="{{ vich_uploader_asset(entity, 'image') | apply_filter('my_thumb')}}" alt="{{ entity.nombre }}" /></td>
但是输出是:
<img src="/app_dev.php/media/cache/my_thumb/images/uploads/392158_10150441208223772_580903771_8591661_774015725_n.jpg" alt="Froga"/>
这是我的 config.yml:
# Vich Uploader
vich_uploader:
db_driver: orm
twig: true
gaufrette: false # set to true to enable gaufrette support
storage: vich_uploader.storage.file_system
mappings:
uploads:
uri_prefix: /images/uploads
upload_destination: %kernel.root_dir%/../web/images/uploads
namer: ~ # specify a file namer service id for this entity, null default
directory_namer: ~ # specify a directory namer service id for this entity, null default
delete_on_remove: true # determines whether to delete file upon removal of entity
inject_on_load: true # determines whether to inject a File instance upon load
avalanche_imagine:
source_root: %kernel.root_dir%/../web/images/uploads
web_root: %kernel.root_dir%/../web/images/uploads
cache_prefix: media/cache
driver: gd
filters:
my_thumb:
type: thumbnail
options: { size: [120, 90], mode: outbound, quality: 100, format: png }
有什么帮助或线索吗?
3个回答
如果您遇到的问题是没有显示任何图像,那么我也遇到了同样的问题。
为了解决这个问题,我确保在我的 config.yml 中,avalanche_imagine 的
source_root
和
web_root
选项设置为
%kernel.root_dir%/../web
(或您的 Web 根目录)。以下是我的 config.yml 中的相关代码片段:
#Uploads
knp_gaufrette:
adapters:
article_adapter:
local:
directory: %kernel.root_dir%/../web/images/articles
filesystems:
article_image_fs:
adapter: article_adapter
vich_uploader:
db_driver: orm
gaufrette: true
storage: vich_uploader.storage.gaufrette
mappings:
article_image:
uri_prefix: /images/articles
upload_destination: article_image_fs
namer: vich_uploader.namer_uniqid
#images
avalanche_imagine:
filters:
article_list:
type: thumbnail
options: { size: [100, 100], mode: outbound }
source_root: %kernel.root_dir%/../web
web_root: %kernel.root_dir%/../web
cache_prefix: cache
Robin
2013-02-21
这没什么不对。想象一下,生产中的包在第一次调用时生成缩略图并将其存储在 web/media 文件夹中。第二次调用时,它只是从 web/media 读取。 随意修改缩略图大小有一些好处。如果您担心性能,您应该在上传完成后触发一些作业来生成缩略图, 虽然我就是这样用的,从来没有抱怨过。
Michal
2012-10-10
就我而言,我选择使用
LiipImagineBundle
,它是
AvalancheImagineBundle
的一个分支。
我将此包配置为使用 gaufrette 作为数据加载器,这样就可以像您描述的那样简单地使用它,而不必过多关心路径。
Almog Baku
2013-09-19