Подключитесь к накопителю NAS с помощью пакета SMB в Node.js - PullRequest
0 голосов
/ 06 октября 2019

Я использую пакет https://www.npmjs.com/package/@marsaud/smb2 для подключения к накопителю NAS по протоколу SMB.

var SMB2 = require('@marsaud/smb2');
// create an SMB2 instance
var smb2Client = new SMB2({
    share: 'drivePAth\altmStore',

    domain: 'WORKGROUP',
    username: 'username',
    password: 'password',
});

Это код, который я использовал для подключения, и строка подключения приведена выше.

smb2Client.exists('/dirname/filename.txt', function (err, exists) {
    if (err) {
        console.log(err);
    };
    console.log(exists ? "it's there" : "it's not there!");
});

Этот метод работает нормально и дает правильный вывод. Но когда я пытаюсь прочитать или записать какие-либо файлы на диск, используя эти методы

smb2Client.mkdir('username\\', function (err) {
    if (err) {
        console.log(err);
    }
    console.log('Directory created!');
});

smb2Client.readdir('username\\dirname', function (err, files) {
    if (err) {
        console.log(err);
    };
    console.log(files);
});

Это выдает ошибку следующим образом.

{ Error: connect EINVAL shareIPaddress:445 - Local (0.0.0.0:61234)
    at internalConnect (net.js:881:16)
    at defaultTriggerAsyncIdScope (internal/async_hooks.js:294:19)
    at defaultTriggerAsyncIdScope (net.js:971:9)
    at process._tickCallback (internal/process/next_tick.js:61:11)
    at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
  errno: 'EINVAL',
  code: 'EINVAL',
  syscall: 'connect',
  address: 'shareIPaddress',
  port: 445 }

Есть определенные вопросы относительно этого поведения. У кого-нибудь есть идея, почему это выскакивает? Нужно ли включать какой-либо порядок портов для доступа к файловой системе на диске NAS? По умолчанию порты включены для протокола SMB для общего доступа к файлам на диске NAS. Если да, то нужно ли нам что-то еще для подключения к накопителю NAS?

Пожалуйста, направьте меня в правильном направлении. Заранее спасибо.

...