Download 骆驼下载文件

Download 骆驼下载文件,download,ftp,apache-camel,Download,Ftp,Apache Camel,我可能有一个愚蠢的问题,但我如何才能从ftp服务器下载文件。 我使用这条路线 .from(“ftp:/test@localhost:21/?password=test“.to(“文件:/d:\\test”) 我有一个错误:不能存储空体。为什么?我读了几个例子,我的错误在哪里?谢谢 编辑 我使用以下路线: .发件人(“直接:xx”) .从(“”) .to(“文件://d:\收件箱”) 我有一个错误: org.apache.camel.component.file.GenericFileOperat

我可能有一个愚蠢的问题,但我如何才能从ftp服务器下载文件。 我使用这条路线

.from(“ftp:/test@localhost:21/?password=test“.to(“文件:/d:\\test”)

我有一个错误:不能存储空体。为什么?我读了几个例子,我的错误在哪里?谢谢

编辑

我使用以下路线:

.发件人(“直接:xx”) .从(“”) .to(“文件://d:\收件箱”)

我有一个错误:

org.apache.camel.component.file.GenericFileOperationFailedException:无法将空正文写入文件:d:\inbox\xxxxxxx 位于org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:237) 位于org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:277) 位于org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:165) 在org.apache.camel.component.file.GenericFileProducer.process(GenericFileProducer.java:79)

这应该可以工作

.from("ftp://test@localhost:21/?password=test").to("file://d:\\test")

我对这一部分很有把握。但是to部分您可能需要更改一点(wrt“/”),因为我没有在windows上工作过

将参数“allowNullBody=true”添加到您的to文件端点

至(“文件://d:\test?allowNullBody=true”)


如果您深入了解
org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:237)
中的源代码状态,您将看到在

  • 在交换主体中为空
  • allowNullBody设置为false

  • 默认情况下,文件生成器中的allowNullBody作为中的状态为“false”。您需要将其更改为“true”以允许存储空文件。

    我有相同的问题,首先您正在路径
    /
    上使用ftp服务器。确保这是正确的。我有3个文件。我通过
    producer.sendboyandheader(“direct:xx”,null,“a”,10)调用我的路由确保ftp上的
    /
    目录中存在文件,并且您有权读取该文件。从错误中,它似乎无法从指定的路径读取任何内容。因此它说,
    不能写空体
    我有3个文件,我用filezilla进行了测试。我可以查看和下载文件