MCPcopy Index your code
hub / github.com/APIParkLab/APIPark / zipFile

Function zipFile

controller/system/iml.go:79–107  ·  view source on GitHub ↗
(files []*ExportFile)

Source from the content-addressed store, hash-verified

77}
78
79func zipFile(files []*ExportFile) (*bytes.Buffer, error) {
80 // 创建一个缓冲区用于存储 ZIP 文件内容
81 buf := new(bytes.Buffer)
82 zipWriter := zip.NewWriter(buf)
83 now := time.Now()
84 // 将文件写入 ZIP
85 for _, file := range files {
86 header := &zip.FileHeader{
87 Name: fmt.Sprintf("%s.json", file.Driver),
88 Method: zip.Deflate,
89 Modified: now,
90 }
91 f, err := zipWriter.CreateHeader(header)
92 if err != nil {
93 return nil, fmt.Errorf("failed to create zip file: %v", err)
94 }
95 _, err = f.Write(file.Byte())
96 if err != nil {
97 return nil, fmt.Errorf("failed to write to zip file: %v", err)
98 }
99 }
100
101 // 关闭 ZIP writer,完成压缩过程
102 err := zipWriter.Close()
103 if err != nil {
104 return nil, fmt.Errorf("failed to close zip writer: %v", err)
105 }
106 return buf, nil
107}
108
109func (i *imlExportConfigController) ExportAll(ctx *gin.Context) error {
110 files, err := i.appendFiles(ctx)

Callers 1

ExportAllMethod · 0.85

Calls 3

WriteMethod · 0.80
ByteMethod · 0.80
CloseMethod · 0.65

Tested by

no test coverage detected