[Go] 任意の URL から画像をダウンロードして保存する

作成日: 2022年06月01日

インターネットで公開されている画像の URL から、画像データをダウンロードしてローカルに保存するサンプルコードです。

package main

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

func main() {
    httpClient := new(http.Client)

    req, err := http.NewRequest(
        http.MethodGet,
        "https://example.com/dummy.png",
        nil,
    )
    if err != nil {
        panic(err.Error())
    }

    response, err := httpClient.Do(req)
    if err != nil {
        panic(err.Error())
    }

    defer response.Body.Close()

    responseBody, err := ioutil.ReadAll(response.Body)
    if err != nil {
        fmt.Println(err.Error())
    }

    f, err := os.Create("image.png")
    if err != nil {
        panic(err.Error())
    }
    defer f.Close()

    _, err = f.Write(responseBody)
    if err != nil {
        panic(err.Error())
    }
}
Go