download.go 742 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package utils
  2. import (
  3. "bufio"
  4. "errors"
  5. "fmt"
  6. "io"
  7. "net/http"
  8. "os"
  9. "path"
  10. )
  11. // http 获取版本信息
  12. // http下载
  13. // var appPath = "data"
  14. func DownloadZip(url string) error {
  15. res, err := http.Get(url)
  16. ext := path.Ext(url)
  17. if ext != ".zip" {
  18. return errors.New("非zip文件")
  19. }
  20. fileName := path.Base(url)
  21. if err != nil {
  22. fmt.Println(err)
  23. return errors.New("get下载失败")
  24. }
  25. defer res.Body.Close()
  26. reader := bufio.NewReader(res.Body)
  27. file, err := os.Create(fileName)
  28. if err != nil {
  29. fmt.Println(err)
  30. return errors.New("创建文件失败")
  31. }
  32. writer := bufio.NewWriter(file)
  33. _, err = io.Copy(writer, reader)
  34. if err != nil {
  35. fmt.Println(err)
  36. return errors.New("下载文件失败")
  37. }
  38. return nil
  39. }