3
私のアプリケーションでSamba共有からファイルをコピーする必要があります。パスはsmb://host/filename
形式です。 nodejでどうすればいいですか? fs.createReadStream
はこれらのパスを開くことを拒否します。私はWindowsと* nixの両方でこれを行う必要があります。node.jsのSamba共有からファイルをコピー
私のアプリケーションでSamba共有からファイルをコピーする必要があります。パスはsmb://host/filename
形式です。 nodejでどうすればいいですか? fs.createReadStream
はこれらのパスを開くことを拒否します。私はWindowsと* nixの両方でこれを行う必要があります。node.jsのSamba共有からファイルをコピー
Linuxホスト(「MS SMB」ではなく「samba」と記述したので)を想定すると、まずリモートサーバをsmbmount
でマウントする必要があります。 This forum post has an overview of how to do thatの場合、サーバーにローカルであるかのようにファイルを読み取るだけです。
また、smbget
を使用すると、リモートホストをマウントせずに単一のファイルを取得できますが、多数のファイル要求に対して効率的ではありません。
別の編集。いくつかの例のコード:
var remoteFile = require('child_process').spawn('smbget', ['--stdout', 'smb://host/filename']);
remoteFile.stdout.on('data', function(chunk) {
//handle chunk of data
});
remoteFile.on('exit', function() {
//file loaded completely, continue doing stuff
});
私は十分に具体的ではない場合、私はそれらの共有をマウントせずにsmbプロトコルでファイルをコピーする必要があります。 –
ああ、あなたは[smbget](http://www.manpagez.com/man/1/smbget/)を使いたいと思う。 –
別の注記:Windows用のsmbユーティリティ上のMSDNには何も見つかりません。したがって、あなたは何をしたいのかをプラットフォームに分ける方法はないと思います(皮肉なことに、SMBの家庭では不可能です)。 –