MySQL BLOB に保存された画像の表示
提供された PHP を使用して、MySQL データベースに BLOB として保存された画像を表示しようとする場合コードを使用すると、画像の前後にテキストやコンテンツを出力すると表示エラーが発生するという問題が発生しました。この記事では、この問題に対処し、画像の横に追加の要素を表示するための解決策を紹介します。
元のコード:
include("inc/library.php");
connectToDatabase();
$sql = "SELECT * FROM theBlogs WHERE ID = 1;";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result);
header("Content-type: image/jpeg");
echo $row['imageContent'];
$db->close();
画像コンテンツをページ内で直接エコーアウトしようとしますが、その前後に他のコンテンツが出力されると問題が発生します。
解決策
この問題は、ブラウザーが画像データの外部にあるテキストやコンテンツを画像の一部と見なすために発生します。これを解決するには、画像データを Base64 に変換し、 タグ内に埋め込むことができます。
echo '';
echo 'Hello world.';
このソリューションは、画像データを Base64 に変換して タグに配置します。これにより、画像が正しく表示されると同時に、ページ上に追加コンテンツを出力できるようになります。
注: このアプローチは機能しますが、パフォーマンスとキャッシュに関しては最適ではありません。 MySQL データベースに BLOB として保存された画像を表示するための代替ソリューション (キャッシュ メカニズムや外部画像サーバーの使用など) を検討することをお勧めします。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3