From e5480b99be24e29aa2920ee3eb78926ba0c0b1b4 Mon Sep 17 00:00:00 2001 From: Noah Hsu Date: Sun, 28 Aug 2022 20:46:33 +0800 Subject: [PATCH] chore: decode filePath in header --- server/handles/fsmanage.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server/handles/fsmanage.go b/server/handles/fsmanage.go index 917dca22..f20c6f46 100644 --- a/server/handles/fsmanage.go +++ b/server/handles/fsmanage.go @@ -2,6 +2,7 @@ package handles import ( "fmt" + "net/url" stdpath "path" "strconv" "time" @@ -189,6 +190,11 @@ func FsRemove(c *gin.Context) { func FsPut(c *gin.Context) { path := c.GetHeader("File-Path") + path, err := url.PathUnescape(path) + if err != nil { + common.ErrorResp(c, err, 400) + return + } asTask := c.GetHeader("As-Task") == "true" user := c.MustGet("user").(*model.User) path = stdpath.Join(user.BasePath, path)