通过UNC路径在节点中读取/写入文件

时间:2015-04-02 13:59:05

标签: node.js unc fs

在本地计算机上将reading/writing问题发送到nodeJs的UNC路径。有一次,fs从我的机器读到/写入到UNC路径就好了,但现在看来它无法读/写它。

UNC路径:  \\[machine name]\folder1\folder2\file.csv

我在一段时间后升级到节点版本12,并认为可能存在网络路径错误,但没有看到任何人在线受到影响。然后我使用nvmw加载旧版本的节点,但仍然没有。

我想知道是不是因为我没有加入同一个域,但是,这不是以前的问题。我可以ping这个盒子,在Windows资源管理器中访问,远程访问。

我尝试运行我的应用程序作为我的用户,作为管理员,在凭据管理器中为网络管理员添加了一个Windows凭据。

尝试更改用于权限的标记rr+aa+ 0666 ...

路径尝试

  • \\[machine name]\
  • \\?\[machine name]\
  • \\?\UNC\[machine name]\

写入错误

{ 
  [Error: UNKNOWN, mkdir '\\[machine name]\Storage\CSV\Example.csv']
  errno: -4094,
  code: 'UNKNOWN',
  path: '\\[machine name]\Storage\CSV\Example.csv' 
}

读取错误

{ 
  [Error: UNKNOWN, open '\\[machine name]\Storage\CSV\Example.csv']
  errno: -4094,
  code: 'UNKNOWN',
  path: '\\[machine name]\Storage\CSV\Example.csv' 
}

我已经浏览了很多实际的fs代码,它似乎最终生成了适当的路径,但似乎并没有很好地用于访问UNC路径的窗口。

我希望有人可以给我一些要检查的事项或可能的原因。

1 个答案:

答案 0 :(得分:0)

您在node中知道,反斜杠是转义字符,因此您需要将使用的反斜杠数量加倍。对于:

\\计算机名\ folder1 \ folder2 \ filename.ext

尝试:

\\\\计算机名\\ folder1 \\ folder2 \\ filename.ext