Spring integration 如何从SMBMoteFileTemplate检索InputStream?

Spring integration 如何从SMBMoteFileTemplate检索InputStream?,spring-integration,Spring Integration,我正在使用SpringIntegrationforSMB从windows服务器存储和检索文件。 在我想从服务器检索文件的情况下,我找到了方法“get”,它接收一个lamda函数来处理InputStream,但是我需要返回这个元素,我不想存储在本地然后返回InputStream。 在这件事上有其他选择吗 谢谢大家 我的代码如下: @Override protected InputStream readMetadataFile(final String filename) throws Fi

我正在使用SpringIntegrationforSMB从windows服务器存储和检索文件。 在我想从服务器检索文件的情况下,我找到了方法“get”,它接收一个lamda函数来处理InputStream,但是我需要返回这个元素,我不想存储在本地然后返回InputStream。 在这件事上有其他选择吗

谢谢大家

我的代码如下:

@Override
    protected InputStream readMetadataFile(final String filename) throws FileNotFoundException {
        final File inputFile = new File(filename);
        if (this.smbRemoteFileTemplate.exists(filename)) {
            this.smbRemoteFileTemplate.get(filename, in -> FileUtils.copyInputStreamToFile(in, inputFile));
            return new FileInputStream(inputFile);
        }

        return null;
    }
/**
 * Obtain a raw Session object. User must close the session when it is no longer
 * needed.
 * @return a session.
 * @since 4.3
 */
Session<F> getSession();

PS:声誉超过1500的配偶是否可以创建“spring integration smb”标签?再次感谢。

RemoteFileTemplate基于
SessionFactory
,并且有一个如下API:

@Override
    protected InputStream readMetadataFile(final String filename) throws FileNotFoundException {
        final File inputFile = new File(filename);
        if (this.smbRemoteFileTemplate.exists(filename)) {
            this.smbRemoteFileTemplate.get(filename, in -> FileUtils.copyInputStreamToFile(in, inputFile));
            return new FileInputStream(inputFile);
        }

        return null;
    }
/**
 * Obtain a raw Session object. User must close the session when it is no longer
 * needed.
 * @return a session.
 * @since 4.3
 */
Session<F> getSession();
让我们希望这个路径对于您的用例来说已经足够了


注意:您有责任在使用后关闭此
InputStream

否,没有人不会创建
spring集成smb
SO标记。这真的是一项开销,问题如此之多。
spring集成
足以为您的问题确定上下文。