fix: 解决部分情况下文件移动失败的问题 (#2752)

Refs https://github.com/1Panel-dev/1Panel/issues/1095
This commit is contained in:
zhengkunwang 2023-11-01 11:51:30 +08:00 committed by GitHub
parent b76d73dc13
commit 94ca229e71
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 2 deletions

View file

@ -231,7 +231,7 @@ func (f *FileService) MvFile(m request.FileMove) error {
return buserr.New(constant.ErrPathNotFound)
}
for _, path := range m.OldPaths {
if path == m.NewPath || strings.Contains(m.NewPath, path) {
if path == m.NewPath || strings.Contains(m.NewPath, filepath.Clean(path)+"/") {
return buserr.New(constant.ErrMovePathFailed)
}
}

View file

@ -284,7 +284,7 @@ func (f FileOp) Cut(oldPaths []string, dst string) error {
for _, p := range oldPaths {
base := filepath.Base(p)
dstPath := filepath.Join(dst, base)
if err := f.Fs.Rename(p, dstPath); err != nil {
if err := cmd.ExecCmd(fmt.Sprintf("mv %s %s", p, dstPath)); err != nil {
return err
}
}