首页 > 后端开发 > Golang > Go初学者如何高效地从URL下载并保存图片?

Go初学者如何高效地从URL下载并保存图片?

DDD
发布: 2024-12-08 19:00:13
原创
1046 人浏览过

How Can a Go Beginner Efficiently Download and Save Images from a URL?

从 URL 保存图像

问题:

作为 Go 新手,如何我从 URL 检索图像并保存它

初始方法:

提供的代码尝试使用 image.Decode 来解码图像,该图像是为解码图像文件而设计的。但是,检索到的数据应被视为原始字节。

更新的方法:

要直接从 URL 保存图像,我们可以使用 ioutil.ReadFrom 来将包含图像数据的响应正文复制到本地文件。

这是修改后的代码:

package main

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

func main() {
    url := "http://i.imgur.com/m1UIjW1.jpg"

    response, err := http.Get(url)
    if err != nil {
        log.Fatal(err)
    }
    defer response.Body.Close()

    file, err := os.Create("/images/asdf.jpg")
    if err != nil {
        log.Fatal(err)
    }
    defer file.Close()

    _, err = io.Copy(file, response.Body)
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println("Image saved successfully!")
}
登录后复制

解释:

  • HTTP 响应正文被视为字节流。
  • io.Copy 为用于将字节从流传输到本地文件。
  • 根据文件大小,传输可以可能需要时间,但这是处理大图像的有效方法。

以上是Go初学者如何高效地从URL下载并保存图片?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板