20.12. common getchas with folder 和 filenames
当 Camel 生成文件(写入文件)时,会有一些影响如何设置您选择的文件名。默认情况下,Camel 将消息 ID 用作文件名,并且消息 ID 通常是一个唯一生成的 ID,所以您将以文件名(如 ID-MACHINENAME-2443-1211718892437-1-0) 结束。如果不需要这样的文件名,则必须在 CamelFileName 消息标头中提供文件名。另外,还可使用恒定的 Exchange.FILE_NAME。
以下示例代码使用消息 ID 作为文件名生成文件:
from("direct:report").to("file:target/reports");
from("direct:report").to("file:target/reports");
要使用 report.txt 作为您必须实现的文件名:
from("direct:report").setHeader(Exchange.FILE_NAME, constant("report.txt")).to( "file:target/reports");
from("direct:report").setHeader(Exchange.FILE_NAME, constant("report.txt")).to( "file:target/reports");
-
与以上地址相同,但使用
CamelFileName:
from("direct:report").setHeader("CamelFileName", constant("report.txt")).to( "file:target/reports");
from("direct:report").setHeader("CamelFileName", constant("report.txt")).to( "file:target/reports");
以及我们使用 fileName URI 选项在端点上设置文件名的语法。
from("direct:report").to("file:target/reports/?fileName=report.txt");
from("direct:report").to("file:target/reports/?fileName=report.txt");