如何在camel中将文件名从“from”传递到“to”?

q1qsirdb  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(174)

我正在研究如何处理一个文件,然后将文件复制到/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&amp;antInclude=*xlsx&amp;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结尾有一个/,所以这不是问题)

xienkqul

xienkqul1#

**${headers.CamelFileName}**将为您提供选择进行处理的文件名。除此之外,我们还提供了许多其他可用的头属性。您可以按照Camel官方文档了解其他头属性。

有关文档,请参阅以下URL:https://camel.apache.org/components/3.15.x/file-component.html#_message_headers

相关问题