ZBLOG

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

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

package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
)

func downloadFile(url string, filepath string) error {
	resp, err := http.Get(url)
	if err != nil {
		return err
	}
	defer resp.Body.Close()

	if resp.ContentLength == 0 {
		fmt.Println("File size is 0, ignoring...")
		return nil
	}

	out, err := os.Create(filepath)
	if err != nil {
		return err
	}
	defer out.Close()

	_, err = io.Copy(out, resp.Body)
	if err != nil {
		return err
	}

	fmt.Println("Downloaded file:", filepath)
	return nil
}

func main() {
	url := "http://example.com/sample.txt"
	filepath := "sample.txt"

	err := downloadFile(url, filepath)
	if err != nil {
		fmt.Println(err)
	}
}

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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?