smb-fast v1.0.0
SMB-FAST Client for Node.js
Introduction
File upload and download based on SMB2(https://www.npmjs.com/package/@marsaud/smb2)
Installation
npm install smb-fast
API
newly added: appendFile() & readfileRecursion()
var smb2Client = new SMB2 ( options )
The SMB2 class is the constructor of your SMB2 client.
the parameter options
accepts this list of attributes:
bashare
(mandatory): the share you want to accessdomain
(mandatory): the domain of which the user is registredusername
(mandatory): the username of the user that access the sharepassword
(mandatory): the passwordport
(optional): default445
, the port of the SMB serverpacketConcurrency
(optional): default20
, the number of simulatanous packet when writting / reading data from the shareautoCloseTimeout
(optional): default10000
, the timeout in milliseconds before to close the SMB2 session and the socket, if setted to0
the connection will never be closed unless you do it
Example:
// load the library
var SMB2 = require('smb2');
// create an SMB2 instance
var smb2Client = new SMB2({
share:'\\\\000.000.000.000\\c$'
, domain:'DOMAIN'
, username:'username'
, password:'password!'
});
smb2Client.readdir ( path, callback )
Asynchronous readdir(3). Reads the contents of a directory. The callback gets two arguments (err, files) where files is an array of the names of the files in the directory excluding '.' and '..'.
Example:
smb2Client.readdir('Windows\\System32', function(err, files){
if(err) throw err;
console.log(files);
});
smb2Client.readFile ( filename, options, callback )
filename
Stringoptions
Objectencoding
String | Null default = null
callback
Function
Asynchronously reads the entire contents of a file. Example:
smb2Client.readFile('path\\to\\my\\file.txt', function(err, data){
if(err) throw err;
console.log(data);
});
The callback is passed two arguments (err, data), where data is the contents of the file.
If no encoding is specified, then the raw buffer is returned.
smb2Client.writeFile ( filename, data, options, callback )
filename
Stringdata
String | Bufferoptions
Objectencoding
String | Null default = 'utf8'
callback
Function
Asynchronously writes data to a file, replacing the file if it already exists. data can be a string or a buffer.
The encoding option is ignored if data is a buffer. It defaults to 'utf8'.
Example:
smb2Client.writeFile('path\\to\\my\\file.txt', 'Hello Node', function (err) {
if (err) throw err;
console.log('It\'s saved!');
});
smb2Client.mkdir ( path, mode, callback )
Asynchronous mkdir(2). No arguments other than a possible exception are given to the completion callback. mode defaults to 0777.
Example:
smb2Client.mkdir('path\\to\\the\\folder', function (err) {
if (err) throw err;
console.log('Folder created!');
});
smb2Client.rmdir ( path, callback )
Asynchronous rmdir(2). No arguments other than a possible exception are given to the completion callback.
Example:
smb2Client.rmdir('path\\to\\the\\folder', function (err) {
if (err) throw err;
console.log('Folder deleted!');
});
smb2Client.exists ( path, callback )
Test whether or not the given path exists by checking with the file system. Then call the callback argument with either true or false. Example:
smb2Client.exists('path\\to\\my\\file.txt', function (err, exists) {
if (err) throw err;
console.log(exists ? "it's there" : "it's not there!");
});
smb2Client.unlink ( path, callback )
Asynchronous unlink(2). No arguments other than a possible exception are given to the completion callback.
smb2Client.unlink('path\\to\\my\\file.txt', function (err) {
if (err) throw err;
console.log("file has been deleted");
});
smb2Client.rename ( oldPath, newPath, callback )
Asynchronous rename(2). No arguments other than a possible exception are given to the completion callback.
smb2Client.rename('path\\to\\my\\file.txt', 'new\\path\\to\\my\\new-file-name.txt', function (err) {
if (err) throw err;
console.log("file has been renamed");
});
smb2Client.close ( )
This function will close the open connection if opened, it will be called automatically after autoCloseTimeout
ms of no SMB2 call on the server.
4 years ago