|
|
|
@ -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}) |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|