This commit is contained in:
2023-08-24 23:21:15 +08:00
parent 40705d8309
commit 07804d627b
2 changed files with 50 additions and 41 deletions

View File

@@ -1,6 +1,7 @@
package global
import (
"archive/zip"
"bytes"
"crypto/md5"
"encoding/hex"
@@ -477,3 +478,41 @@ func ToMap(in interface{}, tagName string) (map[string]interface{}, error) {
}
return out, nil
}
func ZipOneFile(srcFile, dstZip string, pathFlag bool) error {
zipFile, err := os.Create(dstZip)
if err != nil {
return err
}
defer zipFile.Close()
zipWriter := zip.NewWriter(zipFile)
defer zipWriter.Close()
fileToCompress, err := os.Open(srcFile)
if err != nil {
return err
}
defer fileToCompress.Close()
var fileInZip io.Writer
if pathFlag {
fileInZip, err = zipWriter.Create(srcFile)
if err != nil {
return err
}
} else {
// 获取文件的基本名称
fileName := filepath.Base(fileToCompress.Name())
fileInZip, err = zipWriter.Create(fileName)
if err != nil {
return err
}
}
_, err = io.Copy(fileInZip, fileToCompress)
if err != nil {
return err
}
return nil
}