Base 64 编码与加载图像文件

2022-08-30 12:14:20

所以我正在php中做一些事情,我必须从sql数据库中获取我的图像,它们将以base64编码。显示这些图像的速度至关重要,因此我试图弄清楚是否会更快地将数据库数据转换为图像文件,然后将其加载到浏览器中,或者只是回显原始的base64数据并使用:

<img src="data:image/jpeg;base64,/9j/4AAQ..." />

这在FireFox和其他Gecko浏览器中是支持的。

因此,回顾一下,传输实际的图像文件或base64代码会更快。使用ajax加载图像时是否需要更少的http请求?

图像的总像素不超过 100 像素。


答案 1
  • Base64 编码使文件变大,因此传输速度较慢。
  • 通过在页面中包含图像,每次都必须下载它。外部图像通常只下载一次,然后由浏览器缓存。
  • 它与所有浏览器都不兼容

答案 2

好吧,我不同意你们中的任何一个人。在某些情况下,您必须加载越来越多的图像。并非所有页面都包含3张图片。实际上,我正在一个网站上工作,您必须加载200多张图片。当100000个用户在加载非常多的网站上请求200张图像时会发生什么。返回图像的服务器的磁盘应折叠。更糟糕的是,您必须向服务器发出如此多的请求,而不是使用base64的请求。对于这么多缩略图,我更喜欢预先保存在数据库中的base64表示形式。我在 http://www.stoimen.com/2009/04/23/when-you-should-use-base64-for-images/ 找到了解决方案和有力的论证。这个人真的在这种情况下,并做了一些测试。我印象深刻,也做了测试。现实就像它说的那样。对于在一个页面中加载的这么多图像,来自服务器的一个响应真的很有帮助。


推荐