在我的Camel路由器中:
from(<SourceURI>)
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
// I want to extract the file object from the exchange
}
.to(<targetURI>).我如何才能做到这一点?
我试过了,比如exchange.getIn().getHeader(Exchange.FILE_NAME, String.class),它给了我文件名。我正在搜索一些Exchange.FILE,它给了我实际的文件对象。我的最终目标是在处理器中提取文件,因为路由的交换是一个归档文件。
发布于 2015-08-03 15:36:11
从正文中获取文件。Camel使用'org.apache.camel.component.file.GenericFile‘存储为文件体。但是您可以使用Camel的类型转换器来获得所需类型的文件。
例如,您可以获取不同类型的内容,例如:
String text = exchange.getIn().getBody(String.class);
byte[] bytes = exchange.getIn().getBody(byte[].class);
InputStream is = exchange.getIn().getBody(InputStream.class); 发布于 2018-11-16 00:40:45
对于那些拥有from("file:...")的用户,可以使用以下方法:
File in = exchange.getIn().getBody(File.class);https://stackoverflow.com/questions/31779575
复制相似问题