Heim >Backend-Entwicklung >Golang >+ Verwenden Sie HTML/Template Golang in Base64

+ Verwenden Sie HTML/Template Golang in Base64

WBOY
WBOYnach vorne
2024-02-14 18:00:111086Durchsuche

+ 在 base64 中使用 html/template golang

In diesem Artikel stellt Ihnen der PHP-Editor Xinyi vor, wie Sie mithilfe von Golang Bilder in Base64 in die HTML-/Vorlagenvorlage einbetten. Bei der Webentwicklung stoßen wir häufig auf Situationen, in denen wir Bilder im Base64-Format in HTML-Vorlagen einbetten müssen. Dieser Ansatz kann HTTP-Anfragen reduzieren und die Ladegeschwindigkeit von Webseiten verbessern. In diesem Artikel wird ausführlich erläutert, wie Sie das HTML/Template-Paket von Golang verwenden, um diese Funktion zu implementieren und so das Laden Ihrer Webseite effizienter zu gestalten.

Frageninhalt

Gruß an andere Gophers.

Ich muss eine Datenmatrix in Base64-Form in einer HTML-Vorlage zurückgeben. In der Vorlage sieht es so aus. <img src="data:image/png;base64,{{.Datamatrix}}" alt="Datamatrix"/>

Ich füge meine Base64-Daten in eine .Datamatrix ein. Alles ist gut. Base64 ist gültig und alles (überprüft auf verschiedenen Decodern), aber wenn ich die Daten an die Vorlage übergebe +(plus) 符号时,符号更改为 &#43

Base64-Codierung wie folgt: base64.StdEncoding.EncodeToString(b)

Auch versucht base64.URLEncoding.EncodeToString(b), aber weitere Symbole sind durcheinander geraten.

Übergeben Sie Parameter als Strukturfelder vom Typ String

Habe es auf eine andere Art und Weise versucht: als Typ template.HTML,使用template.HTMLEscapeStringtemplate.URLEscapeStringtemplate.JSEscapeString, aber kein Ergebnis.

Für eine wirksame Lösung dieses Problems wären wir sehr dankbar.

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

Ähnliche Probleme auf Github: https://github.com/golang/go/issues/42506

P>S> Der Wechsel zu Text/Vorlage ist ebenfalls keine Option. Im eigentlichen Projekt habe ich auch ein paar Dinge in die Vorlagen eingefügt, aber sie funktionieren einfach nicht mit der Text-/Vorlagenbibliothek.

Workaround

Überraschenderweise lösten genügend Text/Vorlagen alle Probleme. und verursachte bei anderen Injektionen keine neuen Probleme.

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

Das obige ist der detaillierte Inhalt von+ Verwenden Sie HTML/Template Golang in Base64. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen