を使用してユーザーが作成した画像を HTML5 サイトに保存する単純な Rails アプリがありますcanvasContext.toDataURL()
。サムネイルのリストを表示する index アクションと、画像を表示する各画像の show アクションがあります。
ここでは、バックエンドで完全に怠け者ですdata:image/png;base64,...
。元の画像のbase64でエンコードされた文字列と、クライアントでも生成されるサムネイルを保存するだけです。画像は、<img src="data:"/>
URI を使用してページに含まれています。
data-
現在、これは v9 より前の IE では完全にサポートされていないため、属性を使用して生成された画像の URL を含め、 jQuery を使用してページの読み込み後にソース属性を置き換えるなど、何らかの回避策を実装する必要があります。
data:
これにより、 URLを使用してかなり大きな画像を HTML にインライン化するのが適切かどうかという疑問が生じます...
推奨事項やベスト プラクティスはありますか? イメージは最大 500 KiB で、それぞれが 1 回だけ使用されます。画像を含むページは一度作成されると変更されないため、画像を含めてキャッシュ可能である必要があります。サムネイルを含むインデックス ページ (約 60 KiB) はページネーションを使用するため、ページはほとんどキャッシュできません。HTML ページは実稼働環境で収縮または gzip されると想定できます。