一旦被camel处理,如何在FTP上重命名和移动文件?
我的ftp上有几个文件夹:一旦被camel处理,如何在FTP上重命名和移动文件?,ftp,apache-camel,Ftp,Apache Camel,我的ftp上有几个文件夹: /csv /xml /processed /.... 在将每个文件从file.csv处理到file.done并将其移动到已处理文件夹后,如何重命名和移动该文件? 我尝试了很多选项,比如在“from”中添加大量参数,或者在onCompletion中添加一些内容,或者添加多条路径来移动文件。 所有占位符都包含正确的值,并由Spring处理 <route> <from uri="ftp://{{ftp.user}}@{{ftp.s
/csv
/xml
/processed
/....
在将每个文件从file.csv处理到file.done并将其移动到已处理文件夹后,如何重命名和移动该文件?
我尝试了很多选项,比如在“from”中添加大量参数,或者在onCompletion中添加一些内容,或者添加多条路径来移动文件。
所有占位符都包含正确的值,并由Spring处理
<route>
<from uri="ftp://{{ftp.user}}@{{ftp.server}}/{{inbound.csv}}?password={{ftp.pass}}&binary=true&include=.*csv"/>
<onCompletion onCompleteOnly="true">
<to uri="ftp://{{ftp.user}}@{{ftp.server}}/{{outbound.csv}}?password={{ftp.pass}}&doneFileName=${file:name}.done"/>
</onCompletion>
<delay>
<constant>15000</constant>
</delay>
<unmarshal><csv/></unmarshal>
<to uri="bean:cSVHandler?method=process"/>
</route>
15000
请帮忙 使用移动选项,该选项将在文件处理后移动/重命名文件
<from uri="ftp://{{ftp.user}}@{{ftp.server}}/{{inbound.csv}}
?password={{ftp.pass}}&binary=true&include=.*csv
&move=../processed"/>
这将把文件移到../processed目录中
有关移动选项的更多详细信息,请参见使用移动选项,该选项将在文件处理后移动/重命名文件
<from uri="ftp://{{ftp.user}}@{{ftp.server}}/{{inbound.csv}}
?password={{ftp.pass}}&binary=true&include=.*csv
&move=../processed"/>
这将把文件移到../processed目录中
有关移动选项的更多详细信息,请参见如果有人找到此帖子,并且只想重命名该文件,您可以添加
&move=${headers.CamelFileName}.old
如果有人找到此帖子并且只想重命名该文件,您可以添加
&move=${headers.CamelFileName}.old
嗨,克劳斯,谢谢你的回复。成功了。然后我仔细扫描了文件2,发现在ftp上,文件只能像你写的那样使用相对路径移动,而不是像我以前想的那样使用绝对路径。再次感谢。嗨,克劳斯,谢谢你的回复。成功了。然后我仔细扫描了文件2,发现在ftp上,文件只能像你写的那样使用相对路径移动,而不是像我以前想的那样使用绝对路径。再次感谢。