From 7ce84b3d1e45d35c7c9f73561893039a05c16995 Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期五, 20 十二月 2019 19:38:18 +0800 Subject: [PATCH] fix unTargz --- extend/util/util.go | 103 --------------------------------------------------- 1 files changed, 0 insertions(+), 103 deletions(-) diff --git a/extend/util/util.go b/extend/util/util.go index fb6623e..89fc165 100644 --- a/extend/util/util.go +++ b/extend/util/util.go @@ -1,11 +1,8 @@ package util import ( - "archive/tar" "archive/zip" - "basic.com/valib/logger.git" "bytes" - "compress/gzip" "crypto/md5" "encoding/hex" "encoding/json" @@ -301,106 +298,6 @@ } return nil -} - -//鍘嬬缉 浣跨敤gzip鍘嬬缉鎴恡ar.gz -func TarCompress(files []*os.File, dest string) error { - d, _ := os.Create(dest) - defer d.Close() - gw := gzip.NewWriter(d) - defer gw.Close() - tw := tar.NewWriter(gw) - defer tw.Close() - for _, file := range files { - err := gzipCompress(file, "", tw) - if err != nil { - return err - } - } - return nil -} - -func gzipCompress(file *os.File, prefix string, tw *tar.Writer) error { - info, err := file.Stat() - if err != nil { - return err - } - if info.IsDir() { - prefix = prefix + "/" + info.Name() - fileInfos, err := file.Readdir(-1) - if err != nil { - return err - } - for _, fi := range fileInfos { - f, err := os.Open(file.Name() + "/" + fi.Name()) - if err != nil { - return err - } - err = gzipCompress(f, prefix, tw) - if err != nil { - return err - } - } - } else { - header, err := tar.FileInfoHeader(info, "") - header.Name = prefix + "/" + header.Name - if err != nil { - return err - } - err = tw.WriteHeader(header) - if err != nil { - return err - } - _, err = io.Copy(tw, file) - file.Close() - if err != nil { - return err - } - } - return nil -} - -//瑙e帇 tar.gz -func DeCompress(tarFile, dest string) error { - srcFile, err := os.Open(tarFile) - if err != nil { - logger.Debug("open tarFile err:",err) - return err - } - defer srcFile.Close() - gr, err := gzip.NewReader(srcFile) - if err != nil { - logger.Debug("gzip.NewReader err:",err) - return err - } - defer gr.Close() - tr := tar.NewReader(gr) - for { - hdr, err := tr.Next() - if err != nil { - if err == io.EOF { - break - } else { - return err - } - } - filename := dest + hdr.Name - file, err := createFile(filename) - if err != nil { - logger.Debug("createFile err:",err) - return err - } - io.Copy(file, tr) - } - return nil -} - -func createFile(name string) (*os.File, error) { - err := os.MkdirAll(string([]rune(name)[0:strings.LastIndex(name, "/")]), 0755) - if err != nil { - return nil, err - } - return os.Create(name) } func FormatNum(oNum int,n int) string { -- Gitblit v1.8.0