我是Node的新手,我正在尝试使用Directory-Tree插件在网络驱动器中获取文件列表,但我将获得零返回。有人有这个问题
var dirTree = require('directory-tree');
var tree = dirTree('\\10.10.1.6\Images');
console.log(tree);
可能还有另一种方法可以在使用SMB2模块的目录中找到内容。由于网络驱动器需要用户凭证才能访问其内容,因此它正在返回null。另外,如果我们尝试使用节点JS的文件系统访问它,那么它也可能会返回访问权限。因此,要访问网络位置的内容,我们可以使用外部节点库,即SMB2
相同的示例可以是 -
var smb2 = require('smb2');
var epConfig = {
smb2PdfGenerateConfig: {
share: '\\10.10.1.6'
, domain: 'domain'
, username: 'username'
, debug: false
, password: 'password!'
, autoCloseTimeout: 0
}
}
var smb2Client = new smb2({
share: epConfig.smb2PdfGenerateConfig.share,
domain: epConfig.smb2PdfGenerateConfig.domain,
username: epConfig.smb2PdfGenerateConfig.username,
password: epConfig.smb2PdfGenerateConfig.password,
debug: epConfig.smb2PdfGenerateConfig.debug,
autoCloseTimeout: epConfig.smb2PdfGenerateConfig.autoCloseTimeout
});
smb2Client.readdir('Images', function(err, files){
if(err) console.log("err",err);
else{
for(var i=0; i<files.length; i++) {
console.log("file",files[i]);
}
}
});