この記事では、phpエディターのXinyiがgolangを使ってhtml/templateテンプレートにbase64の画像を埋め込む方法を紹介します。 Web 開発では、base64 形式で HTML テンプレートに画像を埋め込む必要がある状況によく遭遇します。このアプローチにより、http リクエストが削減され、Web ページの読み込み速度が向上します。この記事では、golang の html/template パッケージを使用してこの機能を実装し、Web ページの読み込みをより効率的にする方法を詳しく説明します。
ゴーファー仲間に敬意を表します。
HTML テンプレートでデータ行列を Base64 形式で返す必要があります。
テンプレートではこんな感じです。
<img src="data:image/png;base64,%7B%7B.+%20Base64%20%E3%81%A7%20html/template%20golang%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%7D%7D" alt="+ Base64 で html/template golang を使用する">
Base64 データを .+ Base64 で html/template golang を使用する に挿入します。すべては順調です。 Base64 は有効ですべて (別のデコーダーでチェック済み) ですが、データをテンプレート (プラス)
シンボルに渡すと、シンボルは +
base64 を次のようにエンコードします。
base64.StdEncoding.EncodeToString(b)
また base64.URLEncoding.EncodeToString(b)
も試してみましたが、さらに多くのシンボルが混乱してしまいました。
パラメーターを文字列型の構造体フィールドとして渡します
さまざまな方法で渡してみてください: template.HTML
型として、template.HTMLEscapeString
、template.URLEscapeString
、template.JSEscapeString を使用
しかし結果は得られませんでした。
この問題に対する有効な解決策をいただければ幸いです。
###例 https://go.dev/play/p/c_s-wPl6dMTgithub の関連問題: https://github.com/golang/go/issues/42506
P>S> テキスト/テンプレートへの変更もオプションではありません。実際のプロジェクトでは、いくつかの要素をテンプレートに注入していますが、それらは単にテキスト/テンプレート ライブラリでは機能しません。 解決策驚くべきことに、十分なテキスト/テンプレートがすべての問題を解決しました。他の注射では新たな問題は発生しませんでした。
https://www.php.cn/link/c1e247e2235eb596c080297d6903cf39
以上が+ Base64 で html/template golang を使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。