Browse Source

fix:修复判读隐藏文件bug

master
刘子旺 7 months ago
parent
commit
569140d601
  1. 18
      godo/files/os.go

18
godo/files/os.go

@ -373,31 +373,35 @@ func GetSalt(r *http.Request) (string, error) {
return "", fmt.Errorf("无法获取salt") return "", fmt.Errorf("无法获取salt")
} }
// 获取加密标志 // 该函数用于获取文件是否加密标志
func GetPwdFlag() (bool, error) { func GetPwdFlag() (bool, error) {
// 从配置中获取加密标志
isPwd, has := libs.GetConfig("isPwd") isPwd, has := libs.GetConfig("isPwd")
if !has { if !has {
// 默认不加密 // 如果没有设置加密标志,默认设置为不加密
err := libs.SetConfigByName("isPwd", false) err := libs.SetConfigByName("isPwd", false)
if err != nil { if err != nil {
return false, err return false, err // 返回错误信息
} }
return false, nil // 返回默认值和无错误 return false, nil // 返回默认值和无错误
} }
// 添加类型断言失败处理 // 尝试将获取的值转换为布尔类型
if pwdFlag, ok := isPwd.(bool); ok { if pwdFlag, ok := isPwd.(bool); ok {
return pwdFlag, nil return pwdFlag, nil // 返回加密标志和无错误
} }
// 如果断言失败,返回默认值和错误信息 // 如果类型断言失败,返回默认值和错误信息
return false, fmt.Errorf("类型断言失败,期望类型为 bool") return false, fmt.Errorf("类型断言失败,期望类型为 bool")
} }
// 检查文件是否加密 // 检查文件是否加密
func IsHaveHiddenFile(basePath, filePath string) bool { func IsHaveHiddenFile(basePath, filePath string) bool {
// 通过查找同名隐藏文件判断 // 通过查找同名隐藏文件判断
hiddenFilePath := filepath.Join(basePath, "."+filePath) // 获取文件名和目录
dir := filepath.Dir(filePath)
fileName := filepath.Base(filePath)
hiddenFilePath := filepath.Join(basePath, dir, "."+fileName)
_, err := os.Stat(hiddenFilePath) _, err := os.Stat(hiddenFilePath)
return err == nil return err == nil
} }

Loading…
Cancel
Save