1func sftpMkdir(path string, client *sftp.Client, fi os.FileInfo) error {
2 log.Printf("[DEBUG] sftp: creating dir %s", path)
3
4 if err := client.Mkdir(path); err != nil {
5 // Do not consider it an error if the directory existed
6 remoteFi, fiErr := client.Lstat(path)
7 if fiErr != nil || !remoteFi.IsDir() {
8 return err
9 }
10 }
11
12 mode := fi.Mode().Perm()
13 if err := client.Chmod(path, mode); err != nil {
14 return err
15 }
16 return nil
17}
Golang Sftp
golang sftp