Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Groovy VFS SFTP上传发送目录结构,而不仅仅是文件_Groovy_Vfs_Apache Commons Vfs - Fatal编程技术网

Groovy VFS SFTP上传发送目录结构,而不仅仅是文件

Groovy VFS SFTP上传发送目录结构,而不仅仅是文件,groovy,vfs,apache-commons-vfs,Groovy,Vfs,Apache Commons Vfs,我正试图将文件上载到SFTP站点,但整个目录结构正在SFTP站点上重新创建,而不仅仅是在根目录上载文件。我正在拨打sendSftp(见下文) 任何关于如何发送文件并将其放置在SFTP站点根目录的帮助都将非常有用,谢谢 什么是文件名?我怀疑buildsftpath(filename,ph)正在构建完整的目录结构。。。尝试将def local=VFS.getManager().toFileObject(新文件(${filename}”)更改为def local=VFS.manager.resolve

我正试图将文件上载到SFTP站点,但整个目录结构正在SFTP站点上重新创建,而不仅仅是在根目录上载文件。我正在拨打sendSftp(见下文)


任何关于如何发送文件并将其放置在SFTP站点根目录的帮助都将非常有用,谢谢

什么是
文件名
?我怀疑
buildsftpath(filename,ph)
正在构建完整的目录结构。。。尝试将
def local=VFS.getManager().toFileObject(新文件(${filename}”)
更改为
def local=VFS.manager.resolveFile(文件名)
帮助?同样的结果会发送整个目录结构。什么是
filename
?我怀疑
buildsftpath(filename,ph)
正在构建完整的目录结构。。。尝试
buildsftpath(新文件名).name,ph)
谢谢tim_yates,这就是答案!作为答案添加:-)
public void sendSftp(String filename, IPropertyHelper ph) {
    def local = VFS.getManager().toFileObject(new File("${filename}"))
    def remote = VFS.getManager().resolveFile(buildSftpPath(filename, ph), new FileSystemOptions());
    remote.copyFrom(local, Selectors.SELECT_SELF) 
}

private String buildSftpPath(filename, IPropertyHelper ph) {
    return "sftp://${ph.properties.sftp_Login}:${ph.properties.sftp_Password}@${ph.properties.sftp_Hostname}/${filename}"
}