SFTP storage engine for Multer
$ npm install --save multer-sftp ssh2-sftp-client
var multer = require('multer')
var sftpStorage = require('multer-sftp')
var storage = sftpStorage({
sftp: {
host: '127.0.0.1',
port: 22,
username: 'username',
password: 'password'
},
destination: function (req, file, cb) {
cb(null, '/tmp/my-uploads')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now())
}
})
var upload = multer({ storage: storage })
var sftpStorage = require('multer-sftp')
The module returns a function that can be invoked with options to create a Multer storage engine.
{
sftp: Object,
destination: function (req, file, cb) { return cb(null, '/path/to/uploads') }
filename: function (req, file, cb) { return cb(null, 'filename.ext') }
}
sftp
: Required.sftp
is a settings object for sftp client connection. Please see ssh2 documentation for details.destination
: Required.destination
is used to determine within which folder the uploaded files should be stored. This can also be given as astring
(e.g.'/tmp/uploads'
).filename
: Optional.filename
is used to determine what the file should be named inside the folder. If nofilename
is given, each file will be given a random name that doesn't include any file extension.
MIT © Chun-Kai Wang