0

是否可以通过代码调用 sftp 出站端点并发送文件?我在 java 代码中(在自定义转换器中)有一个 File 对象的引用,我想调用 sftp 出站端点并传递该 File 引用。这是可行的吗?谢谢。

4

1 回答 1

1

通过它FileInputStream,应该可以。

muleContext.getClient().dispatch("sftp://...", new FileInputStream(file), null);

如果没有,您必须将其传递给byte[].

请注意,这dispatch是异步的:在 SFTP 通信发生时,调用将立即返回。如果您想等到它完成,请使用send超时作为最后一个参数。

由于您配置了多个 SFTP 连接器,因此您必须在 URL 中指定连接器名称。假设你想使用 调度SFTP_Upload_Connector,你必须使用:

muleContext.getClient().dispatch("sftp://...?connector=SFTP_Upload_Connector", new FileInputStream(file), null);

如果要设置特定的目标文件名,请将其作为filename属性映射中命名的属性传递,例如使用:

muleContext.getClient().dispatch("sftp://...?connector=SFTP_Upload_Connector", new FileInputStream(file), Collections.singletonMap("filename", "somen_ame"));
于 2012-11-02T15:21:54.077 回答