2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-04 10:17:17 +08:00

feat: 规范压缩解压

This commit is contained in:
耗子
2024-10-28 03:21:22 +08:00
parent 899ce1fa18
commit 12ecf0707e
7 changed files with 21 additions and 28 deletions

View File

@@ -26,15 +26,6 @@ func Compress(dir string, src []string, dst string) error {
if len(src) == 0 {
src = append(src, ".")
}
// 去掉路径前缀,减少压缩包内文件夹层级
for i, s := range src {
if strings.HasPrefix(s, dir) {
s = strings.TrimPrefix(s, dir)
if s != "" && s[0] == '/' {
src[i] = strings.TrimPrefix(s, "/")
}
}
}
format, err := formatArchiveByPath(dst)
if err != nil {

View File

@@ -53,14 +53,14 @@ func (s *IOTestSuite) TestWriteAppendAppendsToFile() {
}
func (s *IOTestSuite) TestCompress() {
src := []string{"compress_test1.txt", "compress_test2.txt"}
err := Write(src[0], "File 1", 0644)
s.NoError(err)
err = Write(src[1], "File 2", 0644)
s.NoError(err)
abs, err := filepath.Abs("testdata")
s.NoError(err)
src := []string{"compress_test1.txt", "compress_test2.txt"}
err = Write(filepath.Join(abs, src[0]), "File 1", 0644)
s.NoError(err)
err = Write(filepath.Join(abs, src[1]), "File 2", 0644)
s.NoError(err)
err = Compress(abs, src, filepath.Join(abs, "compress_test.zip"))
s.NoError(err)
err = Compress(abs, src, filepath.Join(abs, "compress_test.bz2"))
@@ -82,14 +82,14 @@ func (s *IOTestSuite) TestCompress() {
}
func (s *IOTestSuite) TestUnCompress() {
src := []string{"uncompress_test1.txt", "uncompress_test2.txt"}
err := Write(src[0], "File 1", 0644)
s.NoError(err)
err = Write(src[1], "File 2", 0644)
s.NoError(err)
abs, err := filepath.Abs("testdata")
s.NoError(err)
src := []string{"uncompress_test1.txt", "uncompress_test2.txt"}
err = Write(filepath.Join(abs, src[0]), "File 1", 0644)
s.NoError(err)
err = Write(filepath.Join(abs, src[1]), "File 2", 0644)
s.NoError(err)
err = Compress(abs, src, filepath.Join(abs, "uncompress_test.zip"))
s.NoError(err)
err = Compress(abs, src, filepath.Join(abs, "uncompress_test.bz2"))