diff --git a/drivers/sftp/meta.go b/drivers/sftp/meta.go index d77398f3..bdc3d827 100644 --- a/drivers/sftp/meta.go +++ b/drivers/sftp/meta.go @@ -11,6 +11,7 @@ type Addition struct { PrivateKey string `json:"private_key" type:"text"` Password string `json:"password"` driver.RootPath + IgnoreSymlinkError bool `json:"ignore_symlink_error" default:"false" info:"Ignore symlink error"` } var config = driver.Config{ diff --git a/drivers/sftp/types.go b/drivers/sftp/types.go index 70a03b98..493e884c 100644 --- a/drivers/sftp/types.go +++ b/drivers/sftp/types.go @@ -30,6 +30,14 @@ func (d *SFTP) fileToObj(f os.FileInfo, dir string) (model.Obj, error) { } _f, err := d.client.Stat(target) if err != nil { + if d.IgnoreSymlinkError { + return &model.Object{ + Name: f.Name(), + Size: f.Size(), + Modified: f.ModTime(), + IsFolder: f.IsDir(), + }, nil + } return nil, err } // set basic info