ホームページ > バックエンド開発 > Golang > Go で Base64 でエンコードされた画像を適切にデコードするにはどうすればよいですか?

Go で Base64 でエンコードされた画像を適切にデコードするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-04 11:55:11
オリジナル
972 人が閲覧しました

How to Properly Decode Base64 Encoded Images in Go?

Go で Base64 エンコードされた画像をデコードする

キャンバスを操作する場合、base64 画像データの URL を取得できます。ただし、image.DecodeConfig() を使用してこの画像をデコードしようとすると、「不明な画像形式」というエラーが発生することがあります。

この問題は、データ URL に Base64 でエンコードされた画像データ以外の追加情報が含まれているために発生します。画像を正しくデコードするには、次のプレフィックスを削除する必要があります:

// Remove the data URL prefix
input := strings.Replace(req.PostFormValue("dataurl"), "data:image/png;base64,", "", 1)
ログイン後にコピー

さらに、image.DecodeConfig() を呼び出す前に PNG 画像形式ハンドラーを登録する必要があります。これは、

import _ "image/png"
ログイン後にコピー

を使用して実現できます。また、正確な画像形式がわかっている場合は、png.DecodeConfig() を直接使用することもできます。

例:

import _ "image/png"

reader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(input))
imageConfig, _, err := image.DecodeConfig(reader)
if err != nil {
    log.Fatal(err)
}
ログイン後にコピー

これらの手順に従うことで、base64 でエンコードされた画像を正常にデコードし、その幅と画像を取得できます。身長。

以上がGo で Base64 でエンコードされた画像を適切にデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート