Apache Camel SFTP文件上传目录路径重复问题求助
解决Apache Camel SFTP文件上传路径重复问题
问题原因
出现/uploads/data/files/uploads/data/files这类重复路径,通常是SFTP端点的路径拼接方式不当,或是Camel SFTP组件的路径解析逻辑导致配置的目标目录与服务器默认目录叠加。
解决方法
方法1:改用remotePath参数指定目标目录
把目标目录从URL路径部分移到remotePath参数中,避免URL拼接时的路径叠加问题。修改端点构建代码如下:
final String sftpEndpoint = "sftp://{{sftp.write.host}}:{{sftp.write.port}}" + "?username={{sftp.write.user}}" + "&privateKey=#sftpPrivateKey" + "&throwExceptionOnConnectFailed=true" + "&fileExist=Override" + "&disconnect=false" + "&remotePath={{sftp.write.folder}}";
这种方式会让Camel SFTP组件明确将remotePath的值作为目标路径,不会与服务器默认目录重复叠加。
方法2:检查SFTP服务器的根目录配置
确认SFTP服务器为当前用户设置的chroot根目录是否已经是/uploads/data/files。如果是,{{sftp.write.folder}}应配置为相对路径(比如空字符串或./),而非绝对路径/uploads/data/files,否则会在根目录基础上再次拼接该绝对路径,导致重复。
方法3:验证配置值的格式
检查{{sftp.write.folder}}的实际配置值,确保它没有多余的前缀或后缀:
- 若服务器已chroot到目标目录,不要以
/开头 - 不要包含重复的路径片段
内容的提问来源于stack exchange,提问作者Arun Raj
相关产品推荐
相关产品推荐

