package utils import ( "bufio" "errors" "fmt" "io" "net/http" "os" "path" ) // http 获取版本信息 // http下载 // var appPath = "data" func DownloadZip(url string) error { res, err := http.Get(url) ext := path.Ext(url) if ext != ".zip" { return errors.New("非zip文件") } fileName := path.Base(url) if err != nil { fmt.Println(err) return errors.New("get下载失败") } defer res.Body.Close() reader := bufio.NewReader(res.Body) file, err := os.Create(fileName) if err != nil { fmt.Println(err) return errors.New("创建文件失败") } writer := bufio.NewWriter(file) _, err = io.Copy(writer, reader) if err != nil { fmt.Println(err) return errors.New("下载文件失败") } return nil }