ホームページ  >  記事  >  バックエンド開発  >  + Base64 で html/template golang を使用する

+ Base64 で html/template golang を使用する

WBOY
WBOY転載
2024-02-14 18:00:111052ブラウズ

+ 在 base64 中使用 html/template golang

この記事では、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.HTMLEscapeStringtemplate.URLEscapeStringtemplate.JSEscapeString を使用 しかし結果は得られませんでした。

この問題に対する有効な解決策をいただければ幸いです。

###例 https://go.dev/play/p/c_s-wPl6dMT

github の関連問題: https://github.com/golang/go/issues/42506

P>S> テキスト/テン​​プレートへの変更もオプションではありません。実際のプロジェクトでは、いくつかの要素をテンプレートに注入していますが、それらは単にテキスト/テン​​プレート ライブラリでは機能しません。

解決策

驚くべきことに、十分なテキスト/テン​​プレートがすべての問題を解決しました。他の注射では新たな問題は発生しませんでした。

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

以上が+ Base64 で html/template golang を使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。