【问题标题】:Mapping Network Drive Node js映射网络驱动节点js
【发布时间】:2017-11-01 15:07:30
【问题描述】:

我是节点新手,我正在尝试使用目录树插件获取网络驱动器中的文件列表,但我得到一个空返回。有没有人遇到过这个问题

var dirTree = require('directory-tree');

var tree = dirTree('\\\\10.10.1.6\\Images');
console.log(tree);

【问题讨论】:

  • Node.js 内置文件系统方法是否适用于 Windows 网络路径?
  • @Brad 是的,我们可以通过“fs”访问网络路径文件,但不确定这个库
  • @binariedMe 我以为它只适用于本地驱动器,我是否只使用 readdir 方法?
  • 如果其他库不工作,我真的认为你应该这样做

标签: javascript node.js network-drive directory-tree


【解决方案1】:

还有另一种方法可以在使用 smb2 模块的目录中查找内容。 由于网络驱动器需要用户凭据才能访问其内容,因此它返回 null。此外,如果我们尝试使用 Node 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]);
       }
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多