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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node Webkit Desktop App - 浏览器默认缓存PDF文件相关的知识,希望对你有一定的参考价值。

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

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

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

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

答案

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

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

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

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

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

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

另一答案

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

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

Windows:%LOCALAPPDATA%/

您可以在node webkit文档中阅读有关其他缓存方法的信息:qazxsw poi

以上是关于Node Webkit Desktop App - 浏览器默认缓存PDF文件的主要内容,如果未能解决你的问题,请参考以下文章

docker desktop创建node:18 server

docker desktop创建node:18 server

node-webkit 环境搭建与基础demo

copy /b nw.exe+app.nw app.exe打包后可以解压吗

子文件夹中的 Node.js npm 依赖项

Node-Webkit打包