download.go 672 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package utils
  2. import (
  3. "image"
  4. _ "image/jpeg"
  5. "io"
  6. "net/http"
  7. "os"
  8. )
  9. func DownloadImage(url, filepath string) error {
  10. // 发送 HTTP GET 请求
  11. resp, err := http.Get(url)
  12. if err != nil {
  13. return err
  14. }
  15. defer resp.Body.Close()
  16. // 创建文件
  17. file, err := os.Create(filepath)
  18. if err != nil {
  19. return err
  20. }
  21. defer file.Close()
  22. // 将响应流中的数据写入文件
  23. _, err = io.Copy(file, resp.Body)
  24. return err
  25. }
  26. func GetImage(url string) (image.Image, error) {
  27. resp, err := http.Get(url)
  28. if err != nil {
  29. return nil, err
  30. }
  31. defer resp.Body.Close()
  32. img, _, err := image.Decode(resp.Body)
  33. if err != nil {
  34. return nil, err
  35. }
  36. return img, nil
  37. }