我使用 pywebkit 和 html5 来开发桌面地图服务器。
将地图图块存储在 sqlite数据库中。
所以当我设置html img的src时,我有两个选择。
一个是从数据库读取图像, b64encode ,然后用“ data:image / png; base64,b64Encoder-string ”设置img的src。 / p>
另一个是从数据库中读取图像并将其保存在磁盘上,然后将 url设置为img的src到本地文件夹。
我的问题是哪种方式更好。
我最担心的是渲染速度。哪一个更快供浏览器呈现图片。
答案 0 :(得分:5)
<img src="http://mysite.com/images/myimage.jpg" />
这实际上是http URI
计划,
虽然<img src="data:image/png;base64,efT....." />
是data URI
,但这种方式图像在HTML中内联,并且没有额外的HTTP请求,但在大多数情况下,嵌入的图像不能在不同的页面加载之间缓存,因此解决方案实际上是通过你的方式...什么对你更好,方便忽略伊恩建议:)
现在转到浏览器兼容性 -
数据URI在IE 5-7中不起作用,但在IE 8中受支持。Source
页面尺寸:
base64编码也会增加页面大小,这是另一回事。
答案 1 :(得分:1)
这在很大程度上取决于应用程序的运行方式,以及运行环境等其他细节。
将图像保存到磁盘的优点是,您可以避免每次需要时重新编码图像(可以通过在DB中添加具有该计算的base-64字符串的列来避免这种情况。)
要点: 1 - 使用第一个选项,但将其缓存为数据库或服务器变量。 2 - 使用第二个选项并缓存文件名。
但接下来的问题是你的二级存储有多快。您可能希望避免使用HD,即使使用缓存,因为它很慢或者您的二进制存储空间有限(并且有更多的数据库存储空间)。
我建议您添加有关您担心的内容的具体信息。