将 base64 显示为图像的快速性能方法

本文关键字:性能 方法 图像 base64 显示 | 更新日期: 2023-09-27 18:31:05

我有一个数据库,它将图像存储为 Base64 字符串。我的任务是用这些图像创建一个画廊。作为我选择的武器,我尝试使用fancybox,并加载图像<img src="data:image/jpg;base64, MY_BASE64"/>。它可以工作,但它对性能有巨大影响。我必须等待~2秒,直到图像加载。有没有更好的方法来解决这个问题?

将 base64 显示为图像的快速性能方法

我建议您创建一个通用处理程序(ashx)来呈现图像。 我假设您将其作为实际二进制文件存储在数据库中,因为没有理由将其存储为 base64。

创建泛型处理程序来输出图像具有以下优点:

  • 客户端可以异步加载这些图像(提供非常好的感知性能)
  • 客户端可以缓存图像(ETag 和上次修改时间)
  • 互联网服务提供商和代理可以缓存图像
  • 传输的数据更少(发送原始二进制文件比发送 base64 文本小大约 33%)
  • 更好的浏览器支持
  • (是否所有浏览器都支持使用 base64?
  • 客户端只会下载正在查看的图像(花式框)