java:使用sftp从远程位置下载文件

sg2wtvxw  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(344)

我必须下载一个文件,这是在远程位置使用sftp点击超链接。我使用JBoss5.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 我得到:camel\u ftp\u uri::: ftp://ccc_uat1@1x..xx.//from_ccc/file.txt?disconnect=true 我参考了sof中的以下链接:
如何通过sftp从服务器检索文件?
提前谢谢

30byixjq

30byixjq1#

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

相关问题