ZBLOG

golang 下载url文件到本地,如果大小为0则忽略

下面是一个示例代码,可以下载 URL 文件到本地,并检查文件大小是否为0:

  1. package main
  2. import (
  3. "fmt"
  4. "io"
  5. "net/http"
  6. "os"
  7. )
  8. func downloadFile(url string, filepath string) error {
  9. resp, err := http.Get(url)
  10. if err != nil {
  11. return err
  12. }
  13. defer resp.Body.Close()
  14. if resp.ContentLength == 0 {
  15. fmt.Println("File size is 0, ignoring...")
  16. return nil
  17. }
  18. out, err := os.Create(filepath)
  19. if err != nil {
  20. return err
  21. }
  22. defer out.Close()
  23. _, err = io.Copy(out, resp.Body)
  24. if err != nil {
  25. return err
  26. }
  27. fmt.Println("Downloaded file:", filepath)
  28. return nil
  29. }
  30. func main() {
  31. url := "http://example.com/sample.txt"
  32. filepath := "sample.txt"
  33. err := downloadFile(url, filepath)
  34. if err != nil {
  35. fmt.Println(err)
  36. }
  37. }

在上面的代码中,我们使用 http.Get() 方法从给定的 URL 获取文件内容。然后,我们检查响应对象的 ContentLength 属性,如果它为0,则忽略该文件并返回。否则,我们创建一个本地文件,将获取到的内容复制到本地文件中,并输出下载完成的消息。注意,最后我们需要关闭打开的文件句柄。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=1497

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?