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 = "."
} }
// 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) fileInfo, err := os.Stat(realFilePath)
if err != nil { if err != nil {
@ -63,6 +67,7 @@ func SerInfo(w http.ResponseWriter, r *http.Request) {
} }
// 遍历 // 遍历
for _, v := range files { for _, v := range files {
// fmt.Printf("rang v:%v\n", v)
isbak := 0 isbak := 0
// 如果有 backup // 如果有 backup
if strings.Contains(v.Name(), "backup") { if strings.Contains(v.Name(), "backup") {
@ -70,20 +75,20 @@ func SerInfo(w http.ResponseWriter, r *http.Request) {
} }
// 如果是文件的话,就计算hash和大小 // 如果是文件的话,就计算hash和大小
if v.IsDir() { if v.IsDir() {
//While entry is A Directory
flist.Flist = append(flist.Flist, FileJson{Fname: v.Name(), Dirflag: v.IsDir(), Isbackup: isbak, Fhash: "", Fsize: ""}) flist.Flist = append(flist.Flist, FileJson{Fname: v.Name(), Dirflag: v.IsDir(), Isbackup: isbak, Fhash: "", Fsize: ""})
} else { } else {
// 计算文件的hash // 计算文件的hash
fhash := util.CalacHash(v.Name()) funame := filepath.Join(realFilePath, v.Name())
fhash := util.CalacHash(funame)
// 文件大小 // 文件大小
// 获取文件大小(以字节为单位) // 获取文件大小(以字节为单位)
sizeInBytes := fileInfo.Size() sizeInBytes := fileInfo.Size()
sizeStr := fmt.Sprintf("%.2f KB", float64(sizeInBytes)/1024) 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})
} }
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 // 计算文件的hash
func CalacHash(rfile string) string { 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 { if err != nil {
panic(err) panic(err)
} }

Loading…
Cancel
Save