3
我需要從我的應用程序中的Samba共享複製文件。路徑格式爲smb://host/filename
。我如何在nodejs中執行此操作? fs.createReadStream
拒絕打開這些路徑。我需要在Windows和* nix上執行此操作。從node.js中的Samba共享複製文件
我需要從我的應用程序中的Samba共享複製文件。路徑格式爲smb://host/filename
。我如何在nodejs中執行此操作? fs.createReadStream
拒絕打開這些路徑。我需要在Windows和* nix上執行此操作。從node.js中的Samba共享複製文件
假設Linux主機(因爲您提到「samba」而不是「MS SMB」),您首先需要使用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協議複製文件,而無需安裝這些共享。 – 2012-03-13 18:55:50
哦,那你想用[smbget](http://www.manpagez.com/man/1/smbget/)。 – 2012-03-13 19:04:37
另一個說明:我在MSDN上找不到任何關於Windows smb實用程序的東西,所以我不認爲有跨平臺的方式來做你想做的事(具有諷刺意味的是在SMB的主頁上不可能)。 – 2012-03-13 19:45:02