首页 > 解决方案 > Spring Integration Ftp Outbound Gateway 文件夹中的特殊字符名称

问题描述

我正在使用 Spring 集成的 Ftp 出站网关从远程 ftp 服务器获取文件。我正在环境的本地目录中创建文件副本。我的问题是,如果文件夹包含特殊字符,如 é、ú、á、í、ü,我将无法获取正确名称的文件夹。我的系统配置正确,它不仅适用于通过此网关检索到的文件。

谢谢你的每一个答案。

我的配置如下所示:

FtpOutboundGateway gateway = new FtpOutboundGateway(
            delegatingSessionFactory(runtimeSessionFactoryLocator), 
            "mget", 
            "payload"
    );

    gateway.setOptions("-P -R"); 
    gateway.setFilter(new AcceptOnceFileListFilter<FTPFile>());
    gateway.setFileExistsMode(FileExistsMode.REPLACE_IF_MODIFIED);
    gateway.setAutoCreateLocalDirectory(true);
    gateway.setLocalDirectoryExpression(new SpelExpressionParser()
            .parseExpression("'" + this.ftpStoragePath + "'" + "+#remoteDirectory")
    );

我发现 Spel 可能对这些特殊字符有一些问题,但没有找到避免这种情况的解决方案。

编辑:我想出了一个解决方案。我错过了能够 .setControlEncoding("UTF-8"); 的 DefaultFtpsSessionFactory

标签: javaspringspring-bootspring-integration

解决方案


我想出了一个解决办法。我错过了能够 .setControlEncoding("UTF-8"); 的 DefaultFtpsSessionFactory


推荐阅读