aboutsummaryrefslogtreecommitdiff
path: root/weed/sftpd/sftp_file_writer.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/sftpd/sftp_file_writer.go')
-rw-r--r--weed/sftpd/sftp_file_writer.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/weed/sftpd/sftp_file_writer.go b/weed/sftpd/sftp_file_writer.go
index 0a662d021..fed60eec0 100644
--- a/weed/sftpd/sftp_file_writer.go
+++ b/weed/sftpd/sftp_file_writer.go
@@ -72,6 +72,7 @@ func (l listerat) ListAt(ls []os.FileInfo, offset int64) (int, error) {
type SeaweedSftpFileWriter struct {
fs SftpServer
req *sftp.Request
+ absPath string // Absolute path after HomeDir translation
mu sync.Mutex
tmpFile *os.File
permissions os.FileMode
@@ -105,6 +106,6 @@ func (w *SeaweedSftpFileWriter) Close() error {
return err
}
- // Stream the file instead of loading it
- return w.fs.putFile(w.req.Filepath, w.tmpFile, w.fs.user)
+ // Stream the file to the absolute path (after HomeDir translation)
+ return w.fs.putFile(w.absPath, w.tmpFile, w.fs.user)
}