我正在研究如何处理一个文件,然后将文件复制到/finished目录中。如果我只将“to”作为目录,它会为我生成文件名。我希望使用相同的文件名。
在我的处理器中,我拥有:
GenericFile gfile = exchange.getIn().getBody(GenericFile.class);
exchange.getOut().setBody(gfile);
而在我的路线中,我有,举例来说:
<route id="fileLoader" autoStartup="true">
<from uri="file://{{xls.dir}}?noop=true&antInclude=*xlsx&delay=1000" />
<to uri="bean:loaderProcessor" />
<to uri="file://{{xls.dir}}finished/?fileName=${in.header.CamelFileName}" />
</route>
关于使用“{file:name}”和“{in.header.CamelFileName}”有各种各样的建议,但没有一个对我有用。
(Btw,xls.dir结尾有一个/,所以这不是问题)
1条答案
按热度按时间xienkqul1#
**${headers.CamelFileName}**将为您提供选择进行处理的文件名。除此之外,我们还提供了许多其他可用的头属性。您可以按照Camel官方文档了解其他头属性。
有关文档,请参阅以下URL:https://camel.apache.org/components/3.15.x/file-component.html#_message_headers