Node-Webkit:如何在本地文件系统中创建文件?

Posted

技术标签:

【中文标题】Node-Webkit:如何在本地文件系统中创建文件?【英文标题】:Node-Webkit: How to create a file in the local file system? 【发布时间】:2013-08-08 06:39:16 【问题描述】:

使用 Node-Webkit,我正在尝试从 web worker js 文件中创建并写入用户定义的本地文件夹中的文本文件。我尝试使用requestFileSystemSync().root.getFile().createWriter() 等,但我不确定该文件的保存位置(可以将其写入定义的本地文件夹,还是将其“沙盒化”到特殊文件夹位置?)。

任何人都可以就我从网络工作者创建文本文件到任意本地文件夹位置的最佳方式提供建议吗?也就是说,在沙盒文件系统之外的本地文件系统中?

谢谢。

【问题讨论】:

我很好奇您正在编写什么类型的应用程序。如果你不介意我问,网络工作者是做什么用的,为什么你需要在文件系统的任何地方写? 【参考方案1】:

听起来您可能正在尝试使用 Web 文件系统 API。这可能是一个合理的解决方案,它允许您将应用程序作为常规网页运行,但是 Web 文件系统 API 是沙盒化的。

node-webkit 提供“对 Node.js API 的完全支持”,我认为这意味着您可以使用the node.js file system API 在文件系统上的任何位置进行写入。很酷。所以这样的事情应该可以工作:

var fs = require('fs');
fs.writeFile("path/to/anywhere/test.txt", "Hi mom!", function(err) 
    if(err) 
        alert("error");
    
);

另外,node-webkit web-workers do not support require I hear。所以你需要在你的主线程中做你的文件系统的东西。

【讨论】:

感谢您提供的信息和提示。经过大量谷歌搜索后,我还得出结论,无法从网络工作者写入本地文件。因此,我将按照您的建议进行操作,并从我的主线程中写入实际文件。再次感谢!

以上是关于Node-Webkit:如何在本地文件系统中创建文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在应用程序包中创建和检查子目录

在 node-webkit 中使用默认程序打开文件

如何在 node-webkit 中获取工作目录

云笔记开发记录二:node-webkit 如何启动 express(更准确说是MEANJS) 项目?

VS Code + NWJS(Node-Webkit)0.14.7 + SQLite3 + Angular6 构建跨平台桌面应用

node-webkit 或 atom-shell 可以截取整个桌面屏幕吗?