我使用node webkit构建了一个桌面应用程序,需要缓存在线时通过App查看的PDF文件,以便它们也可以离线使用.我还没有找到解决方案,但在测试过程中我注意到我之前在线查看的文件可以脱机使用,即使我还没有为此编写任何代码.因此,这些必须已自动缓存.我做了一个搜索,找到文件正确保存的位置,但找不到任何东西.
任何人都可以解释这一点或指向我的信息方向,以便我了解它是如何工作的,并确保我的应用程序可以利用浏览器缓存的默认行为?
******** UPDATE ***********
我找到了一个在本地存储PDF的解决方案,但这不是我的查询.我正在寻找关于如何在离线时提供PDF可用的解释而没有我编写的代码.文件必须自动存储在某处,否则它们将如何显示?
最佳答案 node-webkit的默认缓存行为由package.json中的page-cache属性控制:
"webkit": {
"page-cache": true
},
只有这种方式可以缓存典型的Web资源(脚本,样式表等).为了能够离线查看PDF文件,您可以手动存储它们.
有几种方法可以做到这一点:
>将文件直接保存到磁盘(简单的解决方案,只需将文件存储在App.dataPath中)
>使用数据库
>使用Web存储
>使用应用程序缓存
所有这些都记录在这里:Save persistent data in app