Nodejs:将文件写入unix网络位置

时间:2016-07-20 08:40:16

标签: node.js unix networking ftp fs

我正在尝试使用node.js将文件写入/读取到网络位置。

我使用了此处规定的文件路径: Use node js to access a local network drive

我在Windows机器上测试了我的代码,网络位置是我的工作场所网络,在我的计算机网络中可以看到许多系统。我能够成功地将文件读/写到任何这些网络系统。

在此之后我尝试使用UNIX机器使用相同的代码,为此我提供了用户名/密码和机器IP。

但是,当我运行相同的代码并更改路径时,我收到错误消息:

  { [Error: UNKNOWN: unknown error, open '\\<IP-Address>\home\rstudio\work\ru
    ing\helloWorld.txt']
      errno: -4094,
      code: 'UNKNOWN',
      syscall: 'open',
      path: '\\\\<IP-Address>\\home\\rstudio\\work\\running\\helloWorld.txt' } 

以下是我的代码:

var fs = require("fs");

fs.writeFile('\\\\<IP-Address>\\home\\rstudio\\work\\running\\helloWorld.txt', 'Hello World!', function (err) {
  if (err) return console.log(err);
  console.log('Hello World > helloWorld.txt');
});

对于Windows,我把机器名称而不是IP地址。

请让我知道错误的原因,以及如何在第二种情况下成功写入文件。

1 个答案:

答案 0 :(得分:0)

Windows中的本地网络驱动器(例如驱动器W :)与UNIX中挂载的文件系统同义(例如/ foo)。

如果挂载正确,那么writeFile API将无问题地工作,除了路径说明符应该符合UNIX约定(正斜杠而不是双反斜杠)。

如果文件位于另一个系统中并且未安装文件系统,则此机制不起作用。您将需要一个客户端 - 服务器程序对来发送,接收和写入数据。

希望这有帮助。