是否可以将图像存储在用户的浏览器上

时间:2012-09-03 08:24:52

标签: php html5 caching local-storage browser-cache

在我的主页上有一个大尺寸的图像(约6 MB)。这是一种地图 我想将该图像存储在用户的浏览器中,即使它们关闭浏览器或重启PC,是否有可能? 如果重要,该图像将用于CSS文件中 我的托管带宽很小,所以我想在用户的浏览器上存储该图像 感谢您的任何提示。

5 个答案:

答案 0 :(得分:4)

这有一些选择,有些比其他选择更复杂。

最常见的浏览方式是确保设置cache headers to long cache times,并保持网址一致(类似于@ Petah的建议)。

Some browsers支持HTML5 File API。如果支持,您可以使用JavaScript在此处存储图像。

您也可以使用HTML5 AppCache(也使用limited support),但这意味着您必须要小心如何构建应用程序 - 因为HTML页面将永久缓存,直到缓存清单变化。

你也可以序列化你的image as a Data URLfairly well supported)并以某种方式在本地存储该字符串(localstorage,cookies),但由于cookie的大小限制很小,你不想存储6MB在HTML'cos页面将永远加载,这可能不是一个很好的选择。

答案 1 :(得分:0)

答案 2 :(得分:0)

您必须为该映像设置正确的HTTP缓存标头。使用它们,您将告诉浏览器(以及介于两者之间的任何代理)尽可能长时间地保持该图像。但这并不能保证一旦用户拥有该图像,他将永远拥有它。它可以从缓存中删除,原因有很多(用户清除缓存,浏览器驱逐它,......)。

从这个google search开始。如果您想要更具体的内容,则必须告诉我们您正在使用的Web服务器。

答案 3 :(得分:0)

如果您担心带宽,为什么不将图片上传到某些图片服务(互联网上有很多图片服务),并将其网址包含在您的css中?

您应该关注这些(免费)服务的一些问题:

  • 一些图像托管服务将阻止图像的渲染(通常带有文本的图像“不允许......”)if 包括在其他网站上,如样式表,论坛帖子......所以你必须选择那个不做那个的
  • 图像的加载时间如果是免费服务可能会有很大差异,这一点并不重要,因为一旦加载到客户端浏览器中,它就会被缓存
  • 服务可能暂时无法使用,这可能会给您的客户带来不便

答案 4 :(得分:0)

试试这个..请将href =更改为您的图片路径,然后将=下载到要保存的文件的名称,或者将其留空



<a href="imagepath/image.jpg" download="myImage.jpg">Click here to
download image</a>
&#13;
&#13;
&#13;