Mule 4 SFTP组件filenamePattern无法匹配多格式图片问题求助
Mule 4 SFTP多格式图片文件匹配配置解决方案
问题根因
- 第一种配置使用逗号分隔多匹配模式的写法,不符合Mule 4 SFTP连接器默认的Ant路径匹配规则,连接器会将整个字符串视为单一匹配模式,因此仅能匹配到首个后缀对应的文件。
- 第二种配置的大括号扩展写法属于glob语法,默认的Ant匹配器不支持该语法,同时大括号内的多余空格也会导致匹配规则失效,因此完全无法命中目标文件。
可行配置方案
方案1:使用GLOB匹配语法(最简便)
直接指定匹配器语法为GLOB,同时删除大括号内的空格即可生效,配置如下:
<sftp:matcher filenamePattern="*.{jpg,png,gif}" patternSyntax="GLOB"/>
方案2:使用正则表达式匹配(适合更复杂的匹配场景)
如果需要做大小写兼容、额外规则过滤等,可以用正则语法,配置如下:
<!-- 匹配后缀为jpg、png、gif的文件,兼容大小写的写法可以调整为.*\.(jpg|png|gif|JPG|PNG|GIF)$ --> <sftp:matcher filenamePattern=".*\.(jpg|png|gif)$" patternSyntax="REGEX"/>
内容的提问来源于stack exchange,提问作者hpandalai
相关产品推荐
相关产品推荐

