在 ftp 出站网关中执行 mput 操作后如何获取文件列表?

How do I get a list of files after an mput operation in ftp outbound gateway?

我设法将文件从本地传输到远程 ftp。现在,我想要所涉及的路径和文件的列表,以便我可以对其应用逻辑,例如将新行插入数据库。据说

The message payload resulting from an mput operation is a List object (that is, a List of remote file paths resulting from the transfer).

这是我从 here

得到的

这是我的代码,感谢 Gary Russell 提供了我之前问题的答案

@Bean(value = "localToFtp")
public IntegrationFlow fileToFile() {
    IntegrationFlow flow = IntegrationFlows
            .fromSupplier(() -> "/local",
                    e -> e.poller(Pollers.fixedDelay(Duration.ofSeconds(5))))
            .handle(Sftp.outboundGateway(awasDelegatingSessionFactory(),
                    AbstractRemoteFileOutboundGateway.Command.MPUT,
                    null)
                    .autoCreateDirectory(true)
                    .options(AbstractRemoteFileOutboundGateway.Option.RECURSIVE)
                    .remoteDirectoryExpression(REMOTE_DIR))
            .channel("nullChannel")
            .get();
    return flow;
}

提前致谢。

您正在丢弃网关返回的文件名列表,方法是将其发送到 nullChannel

在此处添加另一个 .handle() 方法 - 消息负载是远程路径列表。