我必须在点击超链接时使用SFTP下载远程位置的文件。我使用JBOSS 5.1作为我的服务器并使用struts2。我已经实现了下面的代码,我发现ConsumerTemplate的receiveBody()将变为null? 可以请任何人指导我上述问题吗?
代码:
CamelContext ctx = new DefaultCamelContext();
ConsumerTemplate consumer = ctx.createConsumerTemplate();
String camel_ftp_uri = MessageFormat.format(CAMEL_FTP_PATTERN, ftp_mode, ftp_user, ftp_address, ftp_dir, ftp_options);
System.out.println("camel_ftp_uri ::: "+camel_ftp_uri);
Object obj= consumer.receiveBody(camel_ftp_uri);
System.out.println("obj ::"+obj);
什么时候打印camel_ftp_uri
am:camel_ftp_uri :::
ftp://ccc_uat1@1x.xxx.xx.xxx//from_ccc/file.txt?disconnect=true
我在SOF中提到了以下链接:
How to retrieve a file from a server via SFTP?
先谢谢
答案 0 :(得分:1)
Camel FTP组件您必须使用起始目录配置ftp uri,然后提供要作为单独参数下载的文件名。你做错了是起始目录是文件名。
此
ftp://ccc_uat1@1x.xxx.xx.xxx//from_ccc/file.txt?disconnect=true
应改为
ftp://ccc_uat1@1x.xxx.xx.xxx//from_ccc/?disconnect=true&fileName=file.txt