Spring 集成 Ftp 文件夹中的出站网关特殊字符名称
Spring Integration Ftp Outbound Gateway special character names in folder
我正在使用 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 对这些特殊字符可能存在一些问题,但没有找到避免该问题的解决方案。
编辑:我想出了一个解决方案。我错过了 DefaultFtpsSessionFactory,在那里我能够 .setControlEncoding("UTF-8");
我找到了解决办法。我错过了能够 .setControlEncoding("UTF-8");
的 DefaultFtpsSessionFactory
我正在使用 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 对这些特殊字符可能存在一些问题,但没有找到避免该问题的解决方案。
编辑:我想出了一个解决方案。我错过了 DefaultFtpsSessionFactory,在那里我能够 .setControlEncoding("UTF-8");
我找到了解决办法。我错过了能够 .setControlEncoding("UTF-8");
的 DefaultFtpsSessionFactory