Node Webkit Desktop App - 浏览器默认缓存PDF文件

时间:2016-08-25 11:26:54

标签: node.js pdf caching node-webkit

我使用node webkit构建了一个桌面应用程序,需要缓存在线时通过应用程序查看的PDF文件,以便它们也可以离线使用。我还没有找到解决方案,但在测试过程中我注意到我之前在线查看的文件可以脱机使用,即使我还没有为此编写任何代码。因此,这些必须已自动缓存。我做了一个搜索,找到文件正确保存的位置,但找不到任何东西。

任何人都可以解释这一点,或者指出我的信息方向,以便了解它是如何工作的,并确保我的应用程序可以利用浏览器缓存的默认行为?

******** *********** UPDATE

我找到了一个在本地存储PDF的解决方案,但这不是我的查询。我正在寻找关于如何在离线时提供PDF可用的解释而没有我编写的代码。文件必须自动存储在某处,否则它们将如何显示?

2 个答案:

答案 0 :(得分:1)

node-webkit的默认缓存行为由page-cache中的package.json属性控制:

 "webkit": {
     "page-cache": true
 },

只有这种方式可以缓存典型的Web资源(脚本,样式表等)。为了能够离线查看PDF文件,您可以手动存储它们。

有几种方法可以做到这一点:

  • 将文件直接保存到磁盘(简单的解决方案,只需将文件存储在App.dataPath
  • 使用数据库
  • 使用网络存储
  • 使用应用程序缓存

所有这些都记录在这里:Save persistent data in app

答案 1 :(得分:0)

在package.json清单文件中提到了缓存app文件的默认位置。初始化应用程序时,默认情况下会加载清单文件中的设置。由于无法以编程方式访问缓存文件,因此可以覆盖默认值文件手动。

要在Windows的用户目录中获取应用程序的数据路径,您可以在包中以Jason格式编写它:

Windows:%LOCALAPPDATA%/

您可以在node webkit的文档中阅读有关其他缓存方法的信息: http://docs.nwjs.io/en/latest/References/App/#appclearcache