Browse Source

修正路径读取错误

master
453530270@qq.com 2 years ago
parent
commit
e2dad6f709
  1. BIN
      fsv2/fstc
  2. 15
      fsv2/handler/serverinfo.go
  3. 4
      fsv2/util/util.go

BIN
fsv2/fstc

Binary file not shown.

15
fsv2/handler/serverinfo.go

@ -41,8 +41,12 @@ func SerInfo(w http.ResponseWriter, r *http.Request) {
urlpath = "."
}
// urlpath 进行base64 解码
dsrpath := util.Base64dec(urlpath)
// fmt.Printf("usl:%s\n", urlpath)
// 监听的根目录
realFilePath := filepath.Join(config.G.FilePath, urlpath)
realFilePath := filepath.Join(config.G.FilePath, dsrpath)
fmt.Printf("real path is :%s\n", realFilePath)
// 时间目录的情况
fileInfo, err := os.Stat(realFilePath)
if err != nil {
@ -63,6 +67,7 @@ func SerInfo(w http.ResponseWriter, r *http.Request) {
}
// 遍历
for _, v := range files {
// fmt.Printf("rang v:%v\n", v)
isbak := 0
// 如果有 backup
if strings.Contains(v.Name(), "backup") {
@ -70,20 +75,20 @@ func SerInfo(w http.ResponseWriter, r *http.Request) {
}
// 如果是文件的话,就计算hash和大小
if v.IsDir() {
//While entry is A Directory
flist.Flist = append(flist.Flist, FileJson{Fname: v.Name(), Dirflag: v.IsDir(), Isbackup: isbak, Fhash: "", Fsize: ""})
} else {
// 计算文件的hash
fhash := util.CalacHash(v.Name())
funame := filepath.Join(realFilePath, v.Name())
fhash := util.CalacHash(funame)
// 文件大小
// 获取文件大小(以字节为单位)
sizeInBytes := fileInfo.Size()
sizeStr := fmt.Sprintf("%.2f KB", float64(sizeInBytes)/1024)
// fmt.SPrintf("文件 %s 的大小为 %.2f KB\n", filename, sizeInKB)
// output
flist.Flist = append(flist.Flist, FileJson{Fname: v.Name(), Dirflag: v.IsDir(), Isbackup: isbak, Fhash: fhash, Fsize: sizeStr})
}
flist.Flist = append(flist.Flist, FileJson{Fname: v.Name(), Dirflag: v.IsDir(), Isbackup: isbak, Fhash: fhash, Fsize: sizeStr})
}
}

4
fsv2/util/util.go

@ -230,9 +230,9 @@ func CorsHadler(w http.ResponseWriter, r *http.Request) {
// 计算文件的hash
func CalacHash(rfile string) string {
// 获取到真实地址
rpath := filepath.Join(config.G.FilePath, rfile)
// rpath := filepath.Join(config.G.FilePath, rfile)
//
file, err := os.Open(rpath)
file, err := os.Open(rfile)
if err != nil {
panic(err)
}

Loading…
Cancel
Save