Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyahkod Imej Berkod Base64 dengan Betul dalam Go?

Bagaimana untuk Menyahkod Imej Berkod Base64 dengan Betul dalam Go?

Linda Hamilton
Linda Hamiltonasal
2024-12-04 11:55:111011semak imbas

How to Properly Decode Base64 Encoded Images in Go?

Menyahkod Imej Berkod Base64 dalam Go

Apabila bekerja dengan kanvas, adalah mungkin untuk mendapatkan URL data imej base64. Walau bagaimanapun, apabila cuba menyahkod imej ini menggunakan imej.DecodeConfig(), anda mungkin menghadapi ralat "Format imej tidak diketahui."

Isu ini timbul kerana URL data mengandungi maklumat tambahan di luar data imej yang dikodkan base64. Untuk menyahkod imej dengan betul, anda perlu mengalih keluar awalan:

// Remove the data URL prefix
input := strings.Replace(req.PostFormValue("dataurl"), "data:image/png;base64,", "", 1)

Selain itu, anda perlu mendaftar pengendali format imej PNG sebelum memanggil imej.DecodeConfig(). Ini boleh dicapai menggunakan:

import _ "image/png"

Sebagai alternatif, anda boleh terus menggunakan png.DecodeConfig() jika anda mengetahui format imej yang tepat.

Contoh:

import _ "image/png"

reader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(input))
imageConfig, _, err := image.DecodeConfig(reader)
if err != nil {
    log.Fatal(err)
}

Dengan mengikuti langkah-langkah ini, anda boleh berjaya menyahkod imej berkod base64 dan memperoleh lebar dan ketinggian.

Atas ialah kandungan terperinci Bagaimana untuk Menyahkod Imej Berkod Base64 dengan Betul dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn