Extract an uploaded zip file
Extract a HTTP POSTed zip file. req.Body can't be passed directly to zip.NewReader() as it doesn't implement ReadAt(). Wrap it with bytes.NewReader().
body, err := ioutil.ReadAll(req.Body) if err != nil { // err } r, err := zip.NewReader(bytes.NewReader(body), req.ContentLength) if err != nil { // err } for _, zf := range r.File { dst, err := os.Create(zf.Name) if err != nil { // err } defer dst.Close() src, err := zf.Open() if err != nil { // err } defer src.Close() io.Copy(dst, src) }
Note: this implementation doesn't support subdirectory.











