diff --git a/kernel/api/file.go b/kernel/api/file.go index a6a49cbee..2ad297ee5 100644 --- a/kernel/api/file.go +++ b/kernel/api/file.go @@ -380,10 +380,13 @@ func putFile(c *gin.Context) { return } - if !util.IsValidUploadFileName(filepath.Base(fileAbsPath)) { // Improve kernel API `/api/file/putFile` parameter validation https://github.com/siyuan-note/siyuan/issues/14658 - ret.Code = http.StatusBadRequest - ret.Msg = "invalid file path, please check https://github.com/siyuan-note/siyuan/issues/14658 for more details" - return + fileExists := filelock.IsExist(fileAbsPath) + if !fileExists { + if !util.IsValidUploadFileName(filepath.Base(fileAbsPath)) { // Improve kernel API `/api/file/putFile` parameter validation https://github.com/siyuan-note/siyuan/issues/14658 + ret.Code = http.StatusBadRequest + ret.Msg = "invalid file path, please check https://github.com/siyuan-note/siyuan/issues/14658 for more details" + return + } } isDirStr := c.PostForm("isDir")