lazypic / OpenPipelineIO

Project Managment Solution
https://docs.openpipeline.io
BSD 3-Clause "New" or "Revised" License
3 stars 4 forks source link

go를 이용해서 인터넷에 있는 이미지를 다운로드해서 로컬에 저장하는 방법 #67

Open khw7096 opened 1 year ago

khw7096 commented 1 year ago
package main

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

func downloadImage(url, localPath string) error {
    response, err := http.Get(url)
    if err != nil {
        return err
    }
    defer response.Body.Close()

    if response.StatusCode != http.StatusOK {
        return fmt.Errorf("failed to download image: %s", response.Status)
    }

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

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

    return nil
}

func main() {
    url := "https://example.com/image.jpg"
    localPath := "local_image.jpg"

    err := downloadImage(url, localPath)
    if err != nil {
        fmt.Println("Error downloading image:", err)
    } else {
        fmt.Println("Successfully downloaded image to", localPath)
    }
}