Forráskód Böngészése

:art: Renaming a directory using the kernel API `/api/file/renameFile` indicates that the file is in use https://github.com/siyuan-note/siyuan/issues/8635

Daniel 2 éve
szülő
commit
938f450097
1 módosított fájl, 6 hozzáadás és 0 törlés
  1. 6 0
      kernel/api/file.go

+ 6 - 0
kernel/api/file.go

@@ -196,6 +196,7 @@ func renameFile(c *gin.Context) {
 	_, err := os.Stat(filePath)
 	if os.IsNotExist(err) {
 		ret.Code = 404
+		ret.Msg = err.Error()
 		return
 	}
 	if nil != err {
@@ -207,6 +208,11 @@ func renameFile(c *gin.Context) {
 
 	newPath := arg["newPath"].(string)
 	newPath = filepath.Join(util.WorkspaceDir, newPath)
+	if gulu.File.IsExist(newPath) {
+		ret.Code = 409
+		ret.Msg = "the [newPath] file or directory already exists"
+		return
+	}
 
 	if err = filelock.Rename(filePath, newPath); nil != err {
 		logging.LogErrorf("rename file [%s] to [%s] failed: %s", filePath, newPath, err)