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

use*_*508 3 html php caching browser-cache local-storage

我的主页上有一个大尺寸图像(~6 MB)。这是一种地图。
我想将该图像存储在用户的浏览器中,即使他们关闭浏览器或重新启动电脑,是否有可能?如果重要的话,该图像会在 CSS 文件中使用。
我的主机带宽较小,因此我想在用户的浏览器上尽可能长时间地存储该图像,感谢您的任何提示。

Rob*_*low 6

有几种选择,其中一些比其他更复杂。

最跨浏览器的方法是确保将缓存标头设置为较长的​​缓存时间,并保持 URL 一致(类似于@Petah 的建议)。

某些浏览器支持HTML5 文件 API。如果支持的话,您可以使用 JavaScript 来存储图像。

您还可以使用HTML5 AppCache(也具有有限支持),但这意味着您必须小心构建应用程序的方式 - 因为 HTML 页面将被永久缓存,直到缓存清单发生更改。

您还可以将图像序列化为数据 URL得到很好的支持)并以某种方式在本地存储该字符串(本地存储、cookie),但由于 cookie 的大小限制较小,因此您不希望在 HTML 中存储 6MB 的内容该页面将需要永远加载,这可能不是一个很好的选择。

  • 顺便说一句,所有客户端存储技术都会有存储限制,对于 6MB 的图像,您很可能会遇到存储限制。以下是有关 Chrome 如何处理它的一些信息:https://developers.google.com/chrome/whitepapers/storage#types (2认同)