🥣

【Golang】URLから取得した画像をBase64形式に変換

2021/06/24に公開

概要

Golangでhttpリクエストで取得した画像データを、Base64形式にする方法を調べてみました。
画像については通常はファイル形式で扱うかなと思いますが、Base64形式だと文字列で扱えるという点があります。画像をBase64で扱うことに関しては、画像ファイルをバイナリではなくテキストで扱うbase64フォーマットって便利なのだろうか?の記事を参考ください。

対応方針

実装サンプル

上記の対応方針で紹介した2記事を、参考にした実装サンプルです。

sample.go

func SendGetHTTPRequestForBase64Image(sendURL string) (string, error) {
	// 画像URLにHTTPリクエストを投げる
	client := &http.Client{}
	req, err := http.NewRequest("GET", sendURL, nil)
	if err != nil {
		return "", err
	}
	response, err := client.Do(req)
	if err != nil {
		return "", err
	}
	defer response.Body.Close()
	
	// レスポンスからbyteデータを取得
	body, err := ioutil.ReadAll(response.Body)
	if err != nil {
		return "", err
	}
	
	// byteデータからBase64を取得
	base64Data := base64.StdEncoding.EncodeToString(body)
	return base64Data, nil
}

Discussion