From e43ac65f8c204717ee547fc2113bea448202a9ee Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Wed, 24 Jul 2024 17:24:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20zip=E8=A7=A3=E5=8E=8B=E5=86=85=E5=90=AB?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E6=96=87=E4=BB=B6=E8=BE=93=E5=87=BA=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E6=89=BE=E4=B8=8D=E5=88=B0=E7=9A=84=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/framework/utils/file/zip.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/framework/utils/file/zip.go b/src/framework/utils/file/zip.go index f5a3ec00..6ff7e955 100644 --- a/src/framework/utils/file/zip.go +++ b/src/framework/utils/file/zip.go @@ -32,20 +32,23 @@ func UnZip(zipFilePath, dirPath string) error { defer rc.Close() // 创建解压后的文件 - path := filepath.Join(dirPath, f.Name) + path := filepath.ToSlash(filepath.Join(dirPath, f.Name)) if f.FileInfo().IsDir() { // 如果是目录,创建目录 - os.MkdirAll(path, f.Mode()) + if err := os.MkdirAll(path, 0775); err != nil { + return err + } } else { - // 如果是文件,创建文件并写入内容 - file, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, f.Mode()) + if err = os.MkdirAll(filepath.Dir(path), 0775); err != nil { + return err + } + out, err := os.Create(path) if err != nil { return err } - defer file.Close() + defer out.Close() - _, err = io.Copy(file, rc) - if err != nil { + if _, err = io.Copy(out, rc); err != nil { return err } }