728x170
안녕하세요?
고랭으로 URL에서 이미지 다운로드 하는 코드 샘플입니다.
많은 활용 부탁드립니다.
package main
import (
"fmt"
"io"
"net/http"
"os"
)
var (
fileName string
fullURLFile string
)
func main() {
fullURLFile = "https://img1.daumcdn.net/thumb/C428x428/?scode=mtistory2&fname=https%3A%2F%2Ftistory4.daumcdn.net%2Ftistory%2F3074371%2Fattach%2F4258cb87d1204cdcbfc2f7ba615b870c"
fileName = "download_image.jpg"
// Create blank file
file := createFile()
// Put content on file
putFile(file, httpClient())
}
func putFile(file *os.File, client *http.Client) {
resp, err := client.Get(fullURLFile)
checkError(err)
defer resp.Body.Close()
size, err := io.Copy(file, resp.Body)
defer file.Close()
checkError(err)
fmt.Printf("Just Downloaded a file %s with size %d\n", fileName, size)
}
func httpClient() *http.Client {
client := http.Client{
CheckRedirect: func(r *http.Request, via []*http.Request) error {
r.URL.Opaque = r.URL.Path
return nil
},
}
return &client
}
func createFile() *os.File {
file, err := os.Create(fileName)
checkError(err)
return file
}
func checkError(err error) {
if err != nil {
panic(err)
}
}
그리드형
'코딩 > GoLang' 카테고리의 다른 글
GoLang 강좌 - Slice 와 Map 벤치마크 테스트 (0) | 2021.02.10 |
---|---|
GoLang - 파일 만들기 삭제하기 예제 (0) | 2021.02.07 |
GoLang 배열 및 배열의 값 복사, 참조 복사 (0) | 2021.02.03 |
GoLang 함수 파라미터에 가변인자 쓰기 (0) | 2021.02.03 |
GoLang 클로저 함수 (0) | 2021.01.28 |