【问题标题】:Is there an implementation of WebKit that allows accessing local filesystem easily?是否有允许轻松访问本地文件系统的 WebKit 实现?
【发布时间】:2015-03-17 17:59:56
【问题描述】:

我正在用 HTML/CSS/JavaScript 创建一个小应用程序。 Internet 访问不可用,因此它必须完全脱机运行。研究人员将使用该应用程序收集数据,并使用此数据生成一个 CSV 文件以供研究分析。

JS 内置了安全机制来防止访问本地文件系统。我目前的计划是构建一个 Chrome 应用程序,将所有内容存储在 chrome.storage 中,并最终使用 Chrome 的 chrome.fileSystem 写入文件。但这并不理想,因为它要求研究人员授予对每个文件的访问权限(我不确定您是否可以授予对文件夹的访问权限?),或者要求研究人员“下载”文件而不是简单地让它们写入磁盘。

我正在寻找一种与使用其他语言(Java、Python)读取/写入本地文件一样无缝的解决方案。我想也许有一个 WebKit 版本允许这样做,或者我可以设置一些 chrome 标志。有没有更好的解决方案?

【问题讨论】:

标签: javascript webkit local-storage google-chrome-app html5-filesystem


【解决方案1】:

nw.js(以前称为 node-webkit)似乎是我要找的东西。

它允许您直接从 DOM 访问 node.js 模块,因此您可以使用与其余代码内联的 javascript 写入本地文件。它还允许您将应用程序打包在一起,以便您可以将其部署为可执行文件。

它似乎也有一个活跃的社区和numerous apps from developers,所以它已经准备好生产了。

【讨论】:

    【解决方案2】:

    即将推出的 API 可以提供一种无缝方式来读取/写入本地文件:Native File System API

    但目前only Chrome supports that(通过特殊标志)。

    【讨论】:

    • 我知道这是一个老问题,但我想添加这个新信息
    【解决方案3】:

    WebKit 可能不是这里最好的起点 - 如果您需要访问本地文件系统并且您想用 HTML 和 Javascript 构建应用程序,您应该查看Node.JS,它可以让您使用熟悉的语法,但有能力完成您正在寻找的所有后端文件操作。

    有很多关于 Node.js 的教程,使用 Express,您可以快速启动并运行。

    【讨论】:

    • 我考虑过这个,但我不确定它的可部署性(我从未使用过 node.js)。使用 MAMP 设置本地服务器并使用 PHP 进行文件写入对我来说很容易,但我无法访问将部署此应用程序的计算机,所以我想要移动部件更少的东西.
    • 貌似有一些项目集成了chrome和node,比如node-webkit。其他一些建议here。我去看看,谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 2011-02-09
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 2012-04-14
    • 1970-01-01
    相关资源
    最近更新 更多