6
6
ftpserver "github.com/KirCute/ftpserverlib-pasvportmap"
7
7
"github.com/alist-org/alist/v3/internal/errs"
8
8
"github.com/alist-org/alist/v3/internal/fs"
9
+ "github.com/alist-org/alist/v3/internal/model"
9
10
"github.com/spf13/afero"
10
11
"os"
11
12
"time"
@@ -91,7 +92,12 @@ func (a *AferoAdapter) GetHandle(name string, flags int, offset int64) (ftpserve
91
92
if (flags & os .O_APPEND ) != 0 {
92
93
return nil , errs .NotSupport
93
94
}
94
- _ , err := fs .Get (a .ctx , name , & fs.GetArgs {})
95
+ user := a .ctx .Value ("user" ).(* model.User )
96
+ path , err := user .JoinPath (name )
97
+ if err != nil {
98
+ return nil , err
99
+ }
100
+ _ , err = fs .Get (a .ctx , path , & fs.GetArgs {})
95
101
exists := err == nil
96
102
if (flags & os .O_CREATE ) == 0 && ! exists {
97
103
return nil , errs .ObjectNotFound
@@ -102,12 +108,12 @@ func (a *AferoAdapter) GetHandle(name string, flags int, offset int64) (ftpserve
102
108
if (flags & os .O_WRONLY ) != 0 {
103
109
trunc := (flags & os .O_TRUNC ) != 0
104
110
if fileSize > 0 {
105
- return OpenUploadWithLength (a .ctx , name , trunc , fileSize )
111
10000
td>+ return OpenUploadWithLength (a .ctx , path , trunc , fileSize )
106
112
} else {
107
- return OpenUpload (a .ctx , name , trunc )
113
+ return OpenUpload (a .ctx , path , trunc )
108
114
}
109
115
}
110
- return OpenDownload (a .ctx , name )
116
+ return OpenDownload (a .ctx , path )
111
117
}
112
118
113
119
func (a * AferoAdapter ) SetNextFileSize (size int64 ) {
0 commit comments