file-storage
v2.0.1
Published
File storage for storing/retrieving files from various sources
Downloads
37
Readme
file-storage
File storage for storing/retrieving files from various sources.
Instalation
npm install file-storage
Example
var fs = require('fs');
var FileManager = require('file-storage');
var fileReadStream = fs.createReadStream(...);
var fileWriteStream = fs.createWriteStream(...);
var storage = new FileStorage(...); // supply valid credentials
storage.saveStream(fileStream).then(function(info){
console.log('file info:', info.id);
});
storage.getStream('file_id').then(function(stream){
stream.pipe(fileWriteStream);
});
API
FileStorage
new FileStorage(url)
- url – connection URL for file source.
Instance methods
All methods returns promise (callback as last argument is supported). Attribute id
identify file entries. For save operations id
is not required (UUID is generated).
getStream(id)
getData(id)
saveStream(stream[,id])
saveData(data[,id])
remove(id)
When save is successfuly completed, the info
is returned as first argument. Every storage type returns it's own informations (at least file identifier at info.id
)
URL String – Supported connections
- File System
file://localhost/{path}
- FTP
ftp://{user}:{password}@{host}/{path}
- SFTP
sftp://{user}@{host}/{path}?privateKey='+encodeURIComponent(fs.readFileSync(homeDir('~/.ssh/id_dsa')))+'&passphrase=...
- Amazon S3
s3://{key}:{privateKey}@{bucket}?region={region}
- MongoDB
mongodb://{host}/{database}
- Rackspace
rackspace://{username}:{password}@{host}
Connection string enabled multiple connections. By specifying?maxConnections=...&ttl=...
you can define multiconnections behaviour:
maxConnections
– maximum number of connections in pool (default: 1)ttl
– time to live for one connection without use before closing (default: 60s)