在NodeJS中通过网络读取Windows文件的权限

时间:2013-10-03 18:33:52

标签: windows macos node.js

我正在尝试在Mac上使用NodeJS读取文本文件。该文件位于同一网络上的Windows计算机上。

var fs = require('fs');
var file = "smb://someserver/stuff/names.txt";

fs.readFile(file, 'utf8', function(err, data) {
  if (err) throw err;
  console.log(data);
});

当我运行此代码时,我得到:

> Error: ENOENT, open 'smb://someserver/stuff/names.txt'

我可能需要验证对该文件的访问权限,但我没有找到任何处理此方案的文档或模块。是否可以读/写这样的文件?

更新(10/22)

我尝试过使用UNC路径(即\\someserver\stuff\names.txt),但我认为这只是解决方案的一部分。不知何故,我需要提供用户名/密码/域,因为此文件需要特殊权限。有可能以某种方式提供权限吗?例如:

var fs = require('fs');
var file = '\\someserver\stuff\names.txt';
var credentials = { username:'mydomain/jsmith', password:'password' }; ???

fs.readFile(file, 'utf8', function(err, data) {
  if (err) throw err;
  console.log(data);
});

1 个答案:

答案 0 :(得分:0)

如果您尝试从其他网络驱动器访问资源,则应使用UNC paths

var fs = require('fs');
var file = "\\someserver\stuff\names.txt";

fs.readFile(file, 'utf8', function(err, data) {
  if (err) throw err;
  console.log(data);
});