Maison  >  Article  >  développement back-end  >  + Utiliser html/template golang en base64

+ Utiliser html/template golang en base64

WBOY
WBOYavant
2024-02-14 18:00:111052parcourir

+ 在 base64 中使用 html/template golang

Dans cet article, l'éditeur PHP Xinyi vous présentera comment intégrer des images en base64 dans le modèle html/template à l'aide de golang. Dans le développement Web, nous rencontrons souvent des situations où nous devons intégrer des images dans des modèles HTML sous forme de base64. Cette approche peut réduire les requêtes http et améliorer la vitesse de chargement des pages Web. Cet article expliquera en détail comment utiliser le package html/template de Golang pour implémenter cette fonction, rendant ainsi le chargement de votre page Web plus efficace.

Contenu de la question

Salut aux autres Gophers.

Je dois renvoyer une matrice de données sous forme base64 dans un modèle HTML. Dans le modèle, cela ressemble à ceci. <img src="data:image/png;base64,{{.Datamatrix}}" alt="Datamatrix"/>

J'insère mes données Base64 dans un .Datamatrix. Tout est bien. Base64 est valide et tout (vérifié sur différents décodeurs) mais quand je passe les données au template +(plus) 符号时,符号更改为 &#43

encodage base64 comme ceci : base64.StdEncoding.EncodeToString(b)

J'ai également essayé base64.URLEncoding.EncodeToString(b), mais d'autres symboles ont été gâchés.

Passez les paramètres en tant que champs de structure de type chaîne

J'ai essayé de le transmettre d'une manière différente : comme type template.HTML,使用template.HTMLEscapeStringtemplate.URLEscapeStringtemplate.JSEscapeString, mais aucun résultat.

Nous serions très reconnaissants d’une solution efficace à ce problème.

Exemple https://go.dev/play/p/c_s-wPl6dMT

Problèmes connexes sur github : https://github.com/golang/go/issues/42506

P>S> Passer au texte/modèle n'est pas non plus une option. Dans le projet actuel, j'ai également quelques éléments injectés dans les modèles, mais ils ne fonctionnent tout simplement pas avec la bibliothèque de texte/modèles.

Solution de contournement

Étonnamment, suffisamment de texte/modèles ont résolu tous les problèmes. et n'a causé aucun nouveau problème avec d'autres injections.

https://www.php.cn/link/c1e247e2235eb596c080297d6903cf39

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer