buf := new(bytes.Buffer)
w := zip.NewWriter(buf)
for _, filename := range list {
input, err := os.Open(filename)
if err != nil {
return err
}
output, err := w.Create(filename)
if err != nil {
return err
}
_, err = io.Copy(output, input)
if err != nil {
return err
}
}
err := w.Close()
if err != nil {
return err
}
err = os.WriteFile(name, buf.Bytes(), 0777)
if err != nil {
return err
}
list contains filenames of files existing in the filesystem.
In this example, the zip data is buffered in memory before writing to the filesystem.
In this example, the zip data is buffered in memory before writing to the filesystem.