sftp O_RDONLY正常工作,但O_RDWR不能正常工作

使用函数Open()或OpenFile(path,os.O_RDONLY)后,我可以读取文件,但是之后无法删除该文件。因此,我尝试使用写入标志os.RDWR(如以下代码)打开文件,以查看是否可以删除文件。但是,使用os.RDWR甚至无法读取该文件。谁能向我解释它导致此问题的原因?我收到错误sftp:“权限被拒绝”(SSH_FX_PERMISSION_DENIED) 我试图查看文件的权限代码,该文件为-rwxrwxrwx。

import (github.com/pkg/sftp)

config = sftp.NewConfig(nil)
config.Setacct("xxxxx","xxxxx")
config.SetDes("ip address",1234)
config.Connect()

if file,err = config.Client.OpenFile(path,os.O_RDWR); err != nil {
        log.Println("Cannot open "+path+",err:",err)
 }

if _,err = ioutil.ReadAll(file); err != nil {
        log.Println("Cannot read "+path+",err)
}

file.Close()

err = config.Client.Remove(file)
if err != nil {
         log.Println("cannot remove file)
}
h213haze 回答:sftp O_RDONLY正常工作,但O_RDWR不能正常工作

您必须提供文件路径,而不是提供文件处理程序。

config.Client.Remove(pathTofile)
defer file.close()

这里是参考文献https://godoc.org/github.com/pkg/sftp#Client.Remove

本文链接:https://www.f2er.com/3104822.html

大家都在问