Maison > développement back-end > Golang > Comment décoder correctement les images codées en base64 dans Go ?

Comment décoder correctement les images codées en base64 dans Go ?

Patricia Arquette
Libérer: 2024-12-04 10:14:20
original
321 Les gens l'ont consulté

How to Properly Decode Base64-Encoded Images in Go?

Go Base64 Image Decode

Lorsque vous travaillez avec un canevas HTML5, il est courant d'obtenir des URL de données d'image codées en base64. Ces chaînes contiennent à la fois un préfixe de données et les données d'image codées en base64 elles-mêmes.

Problème :

Un problème couramment rencontré est l'obtention d'une erreur « Format d'image inconnu » lorsque tenter de décoder l'image codée en base64 en utilisant image.DecodeConfig().

SOLUTION

1. Enregistrer les gestionnaires de formats d'image :

La fonction image.DecodeConfig() reconnaît uniquement les formats d'image dont les gestionnaires sont enregistrés avant son exécution. Pour les images PNG, qui sont souvent rencontrées, importez le package image/png :

import _ "image/png"
Copier après la connexion

En important ce package, le gestionnaire de format PNG est enregistré, permettant à image.DecodeConfig() de décoder avec succès les images PNG.

2. Supprimer le préfixe de données :

Le préfixe de données (par exemple, data:image/png;base64,) dans l'URL des données doit être supprimé avant le décodage. Un moyen plus efficace de procéder consiste à découper la chaîne d'entrée :

input := "data:image/png;base64,iVkhdfjdAjdfirtn="
b64data := input[strings.IndexByte(input, ',')+1:]
Copier après la connexion

Cette opération de découpage crée un nouvel en-tête de chaîne sans copier les données, ce qui entraîne des performances améliorées.

Une fois le format Les gestionnaires sont enregistrés et le préfixe de données est supprimé, image.DecodeConfig() peut décoder avec succès l'image PNG et fournir ses informations de largeur et de hauteur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal