Node Webkit桌面应用程序-浏览器默认缓存PDF文件



我使用node webkit构建了一个桌面应用程序,需要缓存在线时通过应用程序查看的PDF文件,以便它们也可以离线使用。我还没有找到解决方案,但在测试期间,我注意到我以前在线查看的文件可以离线使用,尽管我还没有为此编写任何代码。因此,这些必须已经自动缓存。我搜索了一下文件的确切存放位置,但什么也没找到。

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

* * * * * * * *更新 ***********

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

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

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

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

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

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

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

缓存应用程序文件的默认位置在包中提到。Json manifest文件。当应用程序初始化时,默认情况下会加载manifest文件中的设置。由于缓存的文件不能通过编程方式访问,您可以手动覆盖默认文件。

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

窗口:% LOCALAPPDATA %/

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

最新更新