Base 64编码与加载图像文件

teh*_*oob 30 html php mysql base64 image

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

<img src="data:image/jpeg;base64,/9j/4AAQ..." />
Run Code Online (Sandbox Code Playgroud)

FireFox和其他Gecko浏览器支持哪种版本.

所以回顾一下,传输实际图像文件或base64代码会更快.使用ajax加载图像时,它需要更少的http请求吗?

图像总共不超过100个像素.

som*_*ome 27

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

  • 同样,base64解码速度很慢。 (2认同)

小智 21

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

  • 你提到的那个人似乎说他的图像在从磁盘提供时有2MB(兆字节),在内联时提供到45KB(千字节).仅这一点使他的情况非常可疑. (16认同)

Mir*_*zim 5

如果不进行修改,为什么要一次又一次地重新生成图像。假设,即使根据1000个不同的条件可以显示1000个不同的图像,我仍然认为磁盘上的1000个图像更好。请记住,基于磁盘的映像可以由浏览器缓存并节省带宽等。