首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将原始图像和过滤图像存储在同一个文件夹下- LiipImagineBundle

将原始图像和过滤图像存储在同一个文件夹下- LiipImagineBundle
EN

Stack Overflow用户
提问于 2016-05-31 06:07:51
回答 2查看 1.1K关注 0票数 2

我正在使用LiipImagineBundle从上传的图像创建一个过滤的图像。包的当前配置是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
liip_imagine:
    resolvers:
       default:
          web_path: ~

    filter_sets:
        cache: ~
        my_filter:
            filters:
                relative_resize: { heighten: 66 } 

我的目标是创建一个目录结构,如:

web_root\{subdirectory}\{type}_{filename_md5_hash}.jpeg

对于小图像,类型是s,对于原始大小,类型是o。子目录是从上传日期创建的。

问题是LiipImagineBundle将过滤后的图像存储在web_root\my_filter\{subdirecory}\{type}_{filename_md5_hash}.jpeg中。

如何省略url的my_filter部分?我需要每个上传的图像和它的过滤,以存储在同一个最终文件夹。

我不是专家,我做了很多研究,但都没有用。该配置允许为整个过滤器或单个筛选器更改缓存的web路径,但过滤器名称始终位于最终的url中。

非常感谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-02 09:01:26

我使用LiipImagineBundle提供的服务来更好地控制过滤过程。换句话说,我没有在控制器中使用liip_imagine.controller服务,而是使用了“基础”服务:liip_imagine.data.managerliip_imagine.filter.managerliip_imagine.cache.manager

在我的特殊情况下,我还省略了liip_imagine.cache.manager的使用,因为我最终决定将过滤后的图像存储在与原始图像相同的目录中。因此,缓存不涉及(既不涉及配置,也不涉及直接结构)。所以现在所有的东西都存储在web\images

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    $small_path= 's_'. $image_file->getClientOriginalName();


    $filter = 'my_filter';
    $config= array( 'widen' => 960) ;

    $path = $image->getWebPath();

    $container = $this->container;                                 
    $dataManager = $container->get('liip_imagine.data.manager');
    $filterManager = $container->get('liip_imagine.filter.manager');

    $binary = $dataManager->find($filter, $path);

    $filteredBinary =  $filterManager->applyFilter( $binary, $filter, array(
                           'filters' => array(
                               'relative_resize' =>  $config
                            )
                        ));

    $small_path = str_replace("subdirectory/","subdirectory/s_",'subdirectory/'.$small_path );
    $s = $sBinary->getContent();                               

    $f = fopen($smallPath, 'w');                                 
    fwrite($f, $s );                                            
    fclose($f);

当然,这会使配置发生变化:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    my_filter:
        filters:
            relative_resize: [] 

实际上,我现在可以动态地使用relative_resize内置过滤器的任何配置。谢谢您抽时间见我。我希望我能收到关于这一方法的反馈。

票数 0
EN

Stack Overflow用户

发布于 2016-05-31 06:55:17

您想要的东西要求您创建一个自定义CacheResolver (实现Liip\ImagineBundle\Imagine\Cache\Resolver\ResolverInterface)。起初,这不是一个容易的任务,但这是拥有这样一个特定用例的唯一方法。

然后,将您的自定义CacheResolver注册为标记liip_imagine.cache.resolver的服务,为您的标记提供一个带有您选择的名称的resolver属性(例如<tag name="liip_imagine.cache.resolver" resolver="same_folder" />),并在您的config.yml中使用这个解析器。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
liip_imagine:
    filter_sets:
        FILTER_NAME:
            cache: same_folder
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37548048

复制
相关文章
java 获取_java中的html如何获取
UUID,通用唯一识别码,是由一组32位数的16进制数字所构成,可以产生一个号称全球唯一的ID,可以用来命名文件、变量以及数据库的ID主键等属于唯一的元素。
全栈程序员站长
2022/09/22
7.4K0
java 获取_java中的html如何获取
如何正确的获取数据?
虽然数据科学的技术技能 - 比如使用梯度增强机器进行建模 - 获得大部分关注,但其他同样重要的通用解决问题的能力可能会被忽略。
用户1737318
2019/11/19
3.4K0
如何正确的获取数据?
如何获取ZoneOffset
张紫娃
2023/07/22
2990
如何获取ZoneOffset
如何获取zoneId
将操作系统主机时区设置为北京时区,这是推荐方式,可以完全对开发者无感,也方便了运维统一管理。
张紫娃
2023/07/22
6140
如何获取zoneId
jstack是如何获取threaddump的?
JDK提供了许多命令行工具用于监视JVM,让我们可以了解其异常堆栈、GC日志、threaddump、heapdump等信息。一时好奇,想看看jstack是如何实现的?
码代码的陈同学
2018/08/07
2.3K0
jstack是如何获取threaddump的?
聊聊如何获取PreparedStatement的参数
jdbc的PreparedStatement并未提供相应的get参数的方法,只能从driver的实现类去找,比如mysql的PreparedStatement实现提供了getParameterBindings方法,返回的是EmulatedPreparedStatementBindings,可以获取参数
code4it
2023/09/12
2230
聊聊如何获取PreparedStatement的参数
聊聊如何获取PreparedStatement的参数
jdbc的PreparedStatement并未提供相应的get参数的方法,只能从driver的实现类去找,比如mysql的PreparedStatement实现提供了getParameterBindings方法,返回的是EmulatedPreparedStatementBindings,可以获取参数
code4it
2023/09/06
2220
如何获取文件的“扩展”属性
在 VFP ,“原生”获取一个文件的属性有很多方法,例如使用 Adir() 函数或者 Filer.dll,但是总有一些“不方便”。
firstxinjie
2024/12/06
950
如何获取文件的“扩展”属性
如何获取博客粉丝的数据
接口 https://me.csdn.net/api/relation/index?pageno=1&pagesize=20&relation_type=fans 从浏览器里copy Request
拿我格子衫来
2022/01/24
1.5K0
如何获取博客粉丝的数据
WordPress如何获取,分类的链接?
前些时在开发主题时遇到一个小问题,始终想不明白,就是如何在子分类中获取到父分类的链接。
Kit
2021/08/02
1.9K0
WordPress如何获取,分类的链接?
如何获取变量token的值
1.客户端使用用户名跟密码请求登录 2.服务端收到请求,去验证用户名与密码 3.验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端 4.客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 LocalStorage 里,客户端每次向服务端请求资源的时候需要带着服务端签发的 Token 5.服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据 6.web/APP登录的时候发送加密的用户名和密码到服务器,服务器验证用户名和密码,如果成功,以某种方式比如随机生成32位的字符串作为token,存储到服务器中,并返回 token 到web/APP,以后web/APP请求时凡是需要验证的地方都要带上该 token,然后服务器端验证 token,成功返回所需要的结果,失败返回错误信息,让他重新登录。其中服务器上 token 设置一个有效期,每次web/APP请求的时候都验证token 和有效期。 二、如何获取token的值,进行接口测试
用户7880705
2020/10/29
14.4K0
Android 如何获取有效的DeviceId
从 Android 10 开始,应用必须具有 READ_PRIVILEGED_PHONE_STATE 特许权限才能访问设备的不可重置标识符(包含 IMEI 和序列号)。
BennuCTech
2022/02/24
7.3K0
如何获取元素样式
元素的style属性时常被用于获取元素样式,但很多时候它是不奏效的。看下面的代码:
跑马溜溜的球
2020/12/07
1.9K0
如何获取Class实例
类型.class 类实例.getClass() Class.forName(类的权限定类名) public class Test { public static void main(String
艳艳代码杂货店
2021/09/26
2K0
如何获取Device DNA
Xilinx的每一片FPGA都有一个Device DNA(Device identifier),这个DNA就类似于我们每个人的ID一样,是独一无二的。Device DNA是非易失的,不可更改的,换言之,它只有只读属性。那么如何获取这个DNA呢?(这里以UltraScale系列芯片为例)
Lauren的FPGA
2020/07/09
1.6K0
如何获取Device DNA
python如何获取preview里的文件?
前几天在Python钻石交流群【年鱼鱼🦄】问了一个Python网络爬虫实战问题。问题如下:
前端皮皮
2024/03/07
1840
python如何获取preview里的文件?
js:如何获取select选中的值
<select id=”select”> <option value=”A” url=”http://www.baidu.com”>第一个option</option> <option value=”B” url=”http://www.qq.com”>第二个option</option> </select> 一:JavaScript原生的方法
全栈程序员站长
2022/11/04
26.8K0
如何获取小程序的源代码
准备工作 手机已经root adb.exe 已经放到了系统环境变量,也就是打开cmd 后输入 adb不会报错,如下图 手机能连上电脑,并且手机开启usb调试模式 最后,在cmd窗口内输入 adb
爬虫
2018/04/08
4.6K0
如何获取小程序的源代码
电脑如何获取你发来的数据?
本设计的主要功能其实是获取RFID的卡号,并进行鉴别。推而广之,可以用来获取单片机发来的数据,并进行检验是否符合要求。
跋扈洋
2022/01/20
1.4K0
电脑如何获取你发来的数据?
WordPress 如何获取分类/标签的ID
鼠标移动到编辑处,看到浏览器底部出现链接,其中的tag_ID=5中这个5就是分类的ID,标签同理。
可定
2020/04/20
5.8K0
WordPress 如何获取分类/标签的ID

相似问题

如何获取家长评论的id?

10

如何通过获取获取rest分页头

10

如何获取图像链接?

10

如何获取邮件中包含的图像

10

如何获取主页ID?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文