Browse Source

先注释接收端解压缩文件不覆盖

master
453530270@qq.com 2 years ago
parent
commit
896a3af3f9
  1. BIN
      fsv2/fstc
  2. 72
      fsv2/util/util.go

BIN
fsv2/fstc

Binary file not shown.

72
fsv2/util/util.go

@ -157,3 +157,75 @@ func DecompressZip(zpFname string) error {
}
return nil
}
// package main
// import (
// "archive/zip"
// "fmt"
// "io"
// "os"
// )
// 解压zip文件到指定目录,不覆盖已存在的文件
// func UnzipWithoutOverwrite(zipFile, destDir string) error {
// reader, err := zip.OpenReader(zipFile)
// if err != nil {
// return err
// }
// defer reader.Close()
// for _, file := range reader.Reader.File {
// path := destDir + "/" + file.Name
// if file.FileInfo().IsDir() {
// err = os.MkdirAll(path, file.Mode())
// if err != nil {
// return err
// }
// continue
// }
// if _, err := os.Stat(path); err == nil {
// // 文件已存在,跳过
// continue
// }
// rc, err := file.Open()
// if err != nil {
// return err
// }
// defer rc.Close()
// err = os.MkdirAll(getDir(path), os.ModePerm)
// if err != nil {
// return err
// }
// w, err := os.Create(path)
// if err != nil {
// return err
// }
// defer w.Close()
// _, err = io.Copy(w, rc)
// if err != nil {
// return err
// }
// w.Chmod(file.Mode())
// }
// return nil
// }
// // 获取目录部分
// func getDir(path string) string {
// return path[:len(path)-len(os.PathSeparator)+1]
// }
// func main() {
// zipFile := "example.zip"
// destDir := "output"
// err := UnzipWithoutOverwrite(zipFile, destDir)
// if err != nil {
// fmt.Println(err)
// }
// }

Loading…
Cancel
Save